25번 문제풀이

정답이 공개되어 있다 .

 

 

인덱스 페이지를 확인하자.

Get 방식으로 쿼리를 날리는게 보인다.

 

File 이란 이름에 hello 라는 값을 전송한다.

 

부족한 안목으로 file 이란 변수명을 봤을 때 출제자의 의도는 파일 다운로드 취약점인 것 같다..

 

hello.txt    index.php    password.php

세 개의 파일이 보인다.

 

( 맨 처음 한방에 문제를 풀었지만…. index.php 가지고 하는데 답이 나오지 않아 엄청 해멨다..-_-;; )

 

Hello 라는 쿼리만 날렸는데도 hello.txt 가 읽어진걸 봤을 때 우리가 입력한값.txt 의 결과를 보여주는 것 같다.

 

그래서 file=password.php 라는 쿼리를 날렸을 시

Password.php.txt 라는 파일을 읽게 되어 공격자의 의도와는 다른 파일을 읽어들이게 된다.

 

그럼 password.php 라는 파일을 읽어들여야 하는데 서버내에서 자체적으로 .txt 를 붙이기 때문에

이를 우회할 방법이 필요하다.

그건 NULL 문자를 삽입하여 파일을 읽어들일 때 원하는 파일을 읽어 들이게 해야한다.

 

File=password.php%00

위의 쿼리를 날리게 되면 서버내에선 password.php%00.txt 라는 파일을 읽어 들이는데

Php 뒤에 NULL 문자가 존재하여 결과적으론 password.php 를 읽어 들이게 된다.

 

'WarGame > WEB_Hacking' 카테고리의 다른 글

Webhacking.kr 27번 문제풀이  (0) 2015.11.14
Webhacking.kr 26번 문제풀이  (0) 2015.11.14
Webhacking.kr 24번 문제풀이  (0) 2015.11.14
Webhacking.kr 23번 문제풀이  (0) 2015.11.14
Webhacking.kr 21번 문제풀이  (0) 2015.11.14

+ Recent posts