본문 바로가기

Web Hacking/Dreamhack

[Dreamhack] what-is-my-ip write up

 

으음.. 퍼블로 푸신분이 4분인데, 나 퍼블 먹었을지도?

 

 

내 아이피가 바로 나오고 있다. 코드를 살펴봅시다.

 

user_ip라는 변수에 내 아이피를 담고, echo 해주고 그걸 화면에 보여주고 있다. flag는 /flag에 위치하니 command injection을 통해 가져오면 된다. 

 

할 건 내 ip 변조.. 근데 사실 ip변조는 앱 계층 단에서는 불가능하지만, 코드를 보면 request.access_route 라는 게 존재한다. 뭔가 싶어서 찾아보니

flask docs

 

forwarded 헤더가 존재하면 client ip부터 마지막 proxy ip까지 배열로 담고 있는 놈이다. X-Forwarded-For 라는 헤더는 만약 http request가 프록시 서버를 거칠 경우 원래 요청 ip주소를 담고 있는 헤더이다. 이 헤더는 수동으로 설정해줘야 한다. 

 

MDN