whois

Webhacking.kr 25번 본문

Wargame/Webhacking.kr

Webhacking.kr 25번

HongJun Choi 2017. 9. 1. 16:41

[그림 1] 25번


25번 문제를 클릭하여 들어가보면 그림 1과 같은 화면을 볼 수 있다. 리눅스를 사용해 봤다면 익숙한 ls -l 쳤을 때 나오는 결과이다. uid는 oldzombie, gid는 users로 제작은 oldzombie님이 했으니 읽고 쓸 수 있는 권한을 설정해 놓았으며, 일반 유저들 그리고 나머지 기타 등등에 대해서는 읽기만 가능하다. URL 끝에 보면 file=hello라고 되어 있다. hello라는 파일을 읽겠다는 것으로 볼 수 있는데 확장자가 없는 것에 대하여 의문점이 들기는 하였다. 또한, 'password.php'라는 파일을 열어 보면 키 값이 있지 않을까라는 추측을 하였다.


[그림 2] password 파일 열기(실패)


추측을 행동으로 옮기기 위해 file 변수 값에 password 문자열을 주었다. 근데 아니, 변화가 없지 않은가? hello를 전달 했을 때는 파일 내용을 잘 출력해 주다가 password를 넣었는데 똑같은 hello의 내용이 보이지 않냐는 말이다... 곰곰히 생각해 보다가 hello.txt의 확장자 .txt를 안 적는 것을 보아하니 서버사이드스크립트에서 $file=GET_['file']."txt" 이런 식으로 txt 확장자를 붙이는 것으로 보인다고 결론을 내렸다.


[그림 3] 키 추출


.txt가 자동으로 붙는 것을 막기 위해 %00 즉, null 값을 넣어 문자열이 강제로 끝마치는 처리를 하였다. 예상대로 내가 읽고 싶은 password.php를 넣고 %00을 붙여 주니 '~~nullbye2~~'라는 키 값이 추출되었다.


[그림 4] 성공

'Wargame > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 32번  (0) 2018.07.17
Webhacking.kr 27번  (0) 2017.09.07
Webhacking.kr 26번  (0) 2017.07.26
Webhacking.kr 24번  (0) 2017.07.12
Webhacking.kr 18번  (0) 2017.07.11
Comments