Weakness
파라미터 변조, Path Traversal
Description
개요
https://isc2chapter.kr/bbs/view_image.php 페이지의 파라미터 검증 미흡으로 인해 서버의 파일 목록 노출
재현 과정
[취약점 재현을 하기 위한 과정을 서술해 주세요]
- [step1]
앨범 게시판에 업로드된 이미지를 로드할 때
https://isc2chapter.kr/bbs/view_image.php?bo_table=album&fn=2887385095_U0ThyMxR_a0dac1a92f72be754add869e2fc2ce05f6e9a0ae.gif와 같이
https://isc2chapter.kr/bbs/view_image.php?bo_table=[테이블 명]&fn=[파일 이름]과 같은 포맷으로 이미지 파일을 찾는다는 것을 확인하였음
- [step2]
fn 변수를 다른 값으로 변조한 URL에 접속할 때 파일이 존재하지 않는다는 alert 창이 열림
- [step3]
만약 서버 내에 존재하는 파일에 접근을 시도할 때 이미지 파일이 아니라는 alert 창이 열림
예상되는 취약점 발생 원인
fn 파라미터로 들어오는 값의 검증이 불충분하기 때문에 지정된 경로뿐만 아니라 다른 경로에 위치한 파일에 접근할 수 있음
패치 방법
파라미터에 특수문자 검증 및 상위 경로 접근을 차단한다.
예상 결과 및 파급력
서버에 존재하는 다른 파일들의 목록이 노출될 수 있음
ex) /usr/bin/ 에 위치한 파일들의 목록 중 일부
dic.txt > 사용한 샘플 사전
ex.py > 파일 목록 추출 스크립트
res.txt > dic.txt와 ex.py를 통해 추출한 결과