최초 작성일 : 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
'Wargames > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] 59번 문제 풀이 (0) | 2018.01.15 |
---|---|
[webhacking.kr] 56번 문제 풀이 (0) | 2018.01.14 |
[webhacking.kr] 23번 문제 풀이 (0) | 2018.01.13 |
[webhacking.kr] 1번 문제 풀이 (0) | 2017.05.04 |
[webhacking.kr] 15번 문제 풀이 (0) | 2017.05.04 |