whois

Webhacking.kr 24번 본문

Wargame/Webhacking.kr

Webhacking.kr 24번

HongJun Choi 2017. 7. 12. 10:54

[그림 1] 24번


level24를 클릭하게 되면 그림 1과 같이 client ip와 agent 정보를 보여주게 된다. 단순히 whois 정보를 출력하게끔 설정 해둔 것 같다. 그리고 아래에 보니 'Wrong IP!'라는 문구가 보이는 것으로 보아 IP를 맞춰줘야 하는 문제인듯 하다.


[그림 2] 문제 소스


문제 소스를 보니 주석처리로 된 source : index.phps가 있다. 힌트이니 24번의 URL에 index.phps를 붙여 들어가 보기로 한다.


[그림 3] index.phps


코드 흐름을 살펴 보겠다.


① 서버와 쿠키 변수를 추출한다.

② REMOTE_ADDR 변수 값이 없으면 서버의 REMOTE_ADDR 값을 REMOTE_ADDR 변수에 넣는다.

③ REMOTE_ADDR 값을 ip 변수에 담고 HTTP_USER_AGENT는 agent 변수에 담는다.

④ ip에 12 / 7. / 0. 각각의 문자열이 있으면 공백으로 치환한다.

⑤ ip가 127.0.0.1이면 문제 해결을 한다.



[그림 4] REMOTE_ADDR 설명


REMOTE_ADDR이 뭔지 몰라서 검색하다가 Stack Overflow 커뮤니티를 통해 알게 되었다. SERVER_ADDR은 서버의 IP이고 REMOTE_ADDR은 현재 페이지를 보고 있는 사용자의 IP라는 것을.


[그림 5] 문제 풀이


EditThisCookie 구글 확장 프로그램을 사용하면 쿠키에 쉽게 추가할 수 있다. + 버튼을 누르고 그림 5와 같이 추가 시킨다. 112277..00..00..1을 넣어 주게 되면 중간에 12와 뒤에 7.이 제거되면서 127.이 남게 되고 0.을 하나씩 제거 하면 127.0.0.1이 만들어진다.


[그림 6] 성공


풀게 되면 그림 6과 같이 성공했다는 문구를 볼 수 있다!

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

Webhacking.kr 25번  (0) 2017.09.01
Webhacking.kr 26번  (0) 2017.07.26
Webhacking.kr 18번  (0) 2017.07.11
Webhacking.kr 14번  (0) 2017.07.10
Webhacking.kr 23번  (0) 2017.07.06
Comments