뉴비에욤

Webhacking.kr 25번 본문

Webhacking.kr

Webhacking.kr 25번

초보에욤 2015. 8. 16. 00:56

 

25번 문제 기본 페이지로 가면 GET 메소드로 file 파라미터 값에 "hello" 문자열이 대입되어 있다.

"hello"가 대입되어 있으니 아래쪽에 "hello world"가 출려된다.

 

보아 하니 해당 페이지(index.php) 경로에 "hello.txt", "password.php" 가 있고 문제를 풀기 위해서는
"password.php" 파일 내용을 보면 될거 같다. (Local File Include 관련 취약점 인듯)

 

hello.txt 를 보아하니 "index.php?file=hello" URL 결과와 동일하다.

 

 

클리어를 위해 "password.php" 파일을 보면 아무 내용도 출력되지 않는다.

 

 

제일 처음 사진을 보면 file 파라미터에 "hello" 만 입력되어도 "hello world"가 출력되었는데

해당 문자열은 "hello.txt" 파일의 내용과 동일하였다.

 

즉, 서버에서 파일을 include 시키면서 뒤에 자동적으로 ".txt" 확장자를 붙인 것이다.

그렇기 때문에 "password.php"를 입력했을 때 파일 내용이 보여지지 않은 것이다.

=> "?file=hello"                =>    "hello.txt"

=> "?file=password.php     =>    "password.php.txt"

 

문제를 클리어하기 위해 자동적으로 붙는 ".txt"를 무력화 시키면 된다.

 

"%00" (널문자)를 입력하면 문제가 클리어 된다.

컴퓨터는 문자열 끝에 자동적으로 널문자가 들어가게 된다.

즉, 문자열 끝을 의미하는 널문자를 입력함으로써 뒤에 자동적으로 오는 ".txt"는 인식되지 않아

"password.php" 내용이 출력되는 것이다.

 

 

 

 

 

 

'Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 27번  (0) 2015.08.16
Webhacking.kr 26번  (0) 2015.08.16
Webhacking.kr 24번  (0) 2015.08.16
Webhacking.kr 23번  (0) 2015.08.15
Webhacking.kr 22번  (0) 2015.08.15
Comments