최초 작성일 : 2014/09/13


webhacking.kr 25번 문제 풀이


문제 접속 : http://webhacking.kr/challenge/bonus/bonus-5/?file=hello

문제 사이트에 접속을 하면
hello.txt, index,php, password.php 가 보여지고
hello world 라는 문자열을 확인할 수 있다.



해당 화면을 유추해보면 hello world는 hello.txt 파일의 내용으로 생각되고,
password.php 파일 안에 이번 문제의 패스워드가 저장되어 있을 것이다.

접속 URL에 ?file=hello 인 것으로 보아 .txt 확장자를 붙여서 파일 내용을 읽는 것으로 보인다.
그럼 file=password 를 하면 password.txt 파일을 읽을 것이고

file=password.php를하면 password.php.txt 파일을 읽게 될 것이다.
결국 password.php 파일을 읽기 위해서는 확장자 .txt를 제거해야 한다.

php에서 종료문자(%00)를 사용하면, 이후의 문자열들은 무시된다.
결국 다음과 같이 종료문자를 삽입하면
http://webhacking.kr/challenge/bonus/bonus-5/?file=password.php%00
php에서는 "password.php%00.txt" 형태로 읽어 들이게 되고 종료문자 이후는 무시되므로
password.php 파일을 읽어 들이게 된다.



Auth 메뉴로 가서 패스워드 입력



 level clear










+ Recent posts