본문 바로가기
Security

Directory traversal

by Hide­ 2007. 3. 8.
반응형
다음달 2일날 cissp 시험과 업무로 인해 정신이 없네요...ㅜ.ㅜ


파일 다운로드 두번째 이야기는 별거 아닙니다만 그래도 PT하시는분들께 도움이 될까 하는 생각에 몇자 적어보겠습니다.
뭐....미리 알고 계신 이야기라면....-_-; 그냥 패스하시면 되겠죠...?


아래와 같은 URL을 통해 파일을 다운로드 한다고 가정하겠습니다.

http://domain.co.kr/bbs/download.php?filename=test.hwp

그러면 아마도...물론 저도...제일 먼저 하는건 test.hwp 대신에 /etc/passwd를 해봅니다.
되면 다행(?)이지만 안되는 경우도 많습니다.

안 될 경우 저는 /etc/passwd 대신에 ../../../../../../../../../../etc/passwd와 같이 입력합니다.

일명 directory traversal이죠..

처음 PT를 할 때 이 부분에서 난관에 많이 부딪쳤었습니다.
무한 삽질끝에 알아낸건 사이트마다 다르지만 상위 디렉토리로 올라갈때 몇개를 거슬러 올라갈것인지 정확하게 적어야 한다는 것이었습니다.

예를 들어

DocumentRoot가 /usr/local/httpd/htdocs 일 경우
download.php 소스 안에 지정된 디렉토리(다운로드할 파일이 위치한)가 /usr/local/httpd/htdocs/bbs/data 라면
거슬러 올라가야 할..즉, ../ 를 6개를 적은후 /etc/passwd를 적는 것이죠.

물론 download.php 소스에 어느 디렉토리인지 정확히 알 수 없기 때문에 여러번 시도를 해봐야겠죠..
저는 보통 /etc/passwd를 먼저 시도 후 directory traversal은 2개,5개,6개를 차례대로 시도합니다.
DocumentRoot가 /home/web 과 같은 경우도 있고 그렇지 않을 경우 대부분 사용되는 디렉토리가 /usr/local/httpd/htdocs 정도이기 때문이죠..


물론 이건 사이트마다 다릅니다.

../ 의 개수를 정확히 맞춰야 되는 사이트가 있고 그냥 무한정 많이 적으면 되는 사이트도 있습니다.

결국.....

"웹해킹은 노가다"라는 결론이 나오더군요...-_-;


웹해킹과보안 카페에서 퍼왔습니다

'Security' 카테고리의 다른 글

IEPlayer  (0) 2007.03.09
쿠키해킹의 개념  (0) 2007.03.08
Directory traversal  (0) 2007.03.08
제로보드 pl7  (0) 2007.03.08
웹쉘의 현황 및 분석  (0) 2007.03.08