[Webhacking.kr] 25번
들어가면 밑과 같은 내용과 hello world가 입력되있는 입력창이 있다.
합계 12 -rw-r--r-- 1 oldzombie users 12 5월 14 00:57 hello.txt -rw-r--r-- 1 oldzombie users 1158 9월 5 01:24 index.php -rw-r--r-- 1 oldzombie users 57 5월 14 00:57 password.php
주소를 보면 ?file=hello가 뒤에 붙어있는것을 알 수 있다.
아마 입력창에 보이는 저것이 hello.txt의 파일 내용일것이다.
그러므로 file=password로 해보면 뭔가 나오지 않을까 생각해서 바꿔보았으나 아무것도 일어나지않았다.
webhacking.kr/challenge/bonus/bonus-5/hello.txt 이렇게 들어가보니 hello.txt의 내용이 나왓다.
webhacking.kr/challenge/bonus/bonus-5/password.php로 들어가보니 아무것도 없었다.
음... 다시 원점으로 돌아와서 이 페이지는 file=파일명을 입력하면 파일의 내용을 보여주는 것같다.
재미있는 점은 입력창에 적힌걸 지우거나 수정하고 file=asdf 등을 url에 입력해도 hello.txt의 내용을 보여준다는 것이다.
그 말은 아마 default로 file에 없는 이름이 들어간 경우 hello.txt를 보여주는 것이 되는 것같다.
그런데 index나 password, password.php,index.php 를 입력해도 hello.txt를 보여준다.
거기다 맨 처음 설정되어잇는 file=hello에서 .txt를 안붙이고 파일 이름만 적혀있는 걸 보니
내부 동작에서 $file = $_GET[file].".txt" 같은 것으로 되어있는 것같다. 이게 아니라면 $file = $file+".txt"던지 어쨋든 뒤에 txt가 붙기 때문에 index.php나 password.php를 입력해도 뒤에 txt가 붙어서 디폴트로 계속 hello.txt가 출력되는것 같다.
문자는 NULL을 만나면 끝나므로 file=password.php%00 등을 입력하면 아마 뒤에 있는 ".txt"는 무시되어 password.php가 열리지 않을까 싶다. (%00은 인코딩된 NULL값이다)
webhacking.kr/challenge/bonus/bonus-5/?file=password.php%00
로 ?file=password.php%00를 입력해보았다.
Challenge 25 password is ~~nullbye2~~
라는 값이 입력창에 나왔다. 바로 auth로 인증하러가였다.
클리어
'Wargame > 웹해킹(Webhacking.kr)' 카테고리의 다른 글
[Webhacking.kr] 27번 (0) | 2017.09.06 |
---|---|
[Webhacking.kr] 26번 (0) | 2017.09.06 |
[Webhacking.kr] 24번 (0) | 2017.09.06 |
[Webhacking.kr] 19번 (0) | 2017.09.06 |
[Webhacking.kr] 18번 SQL INJECTION (0) | 2017.09.04 |