뉴비에욤
Webhacking.kr 25번 본문
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 |