Wargames/webhacking.kr
[webhacking.kr] 25번 문제 풀이
securityse
2017. 4. 1. 03:22
최초 작성일 : 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