Raw Socket Sender가 구현되어 있다고 한다.
음 위와 같이 되어 있다. 코드를 보면
위와 같이 되어 있고 raw socket 프로그래밍은 아니지만 그런 일반 소켓 프로그래밍으로 효과를 줄 수 있는 것 같다. 아무튼 내가 입력한 호스트와 포트에 데이터를 전송하고 있다. flag가 어디서 나오나 확인하니
admin 경로에 POST 요청을 보내면서 위의 조건들을 만족하면 flag가 응답된다. 즉 구현되어 있는 소켓 통신 서비스를 통해 admin ip로 POST요청을 보내면 된다.
POST /admin
HTTP/1.1Host: host3.dreamhack.games
User-Agent: Admin Browser
DreamhackUser: admin
Cookie: admin=true
Content-Type: application/x-www-form-urlencoded
Content-Length: 12
userid=admin
위와 같이 보내면 된다. 처음에 놓쳤던 부분은 proxy라길래 버프슈트로 잡아서 바꿔야되나 싶어서 잡은 후 \r\n을 그대로 입력해줬다. 그랬더니 timeout이 발생했고 저 상태로 폼 창에 그대로 입력하니 flag가 나왔다. Content-Length를 명시 안 해주면 flag가 안 나온다.
또한 Content-Type을 application/x-www-form-urlencoded로 주어야 body에 key-value형식으로 전달이 된다.
raw socket에 대해 더 찾아봐야겠다.
'Web Hacking > Dreamhack' 카테고리의 다른 글
[Dreamhack] simple-ssti write up (0) | 2024.04.09 |
---|---|
[Dreamhack] php-1 write up (0) | 2024.04.07 |
[Dreamhack] random-test write up (0) | 2024.04.04 |
[Dreamhack] Type c-j write up (2) | 2024.03.31 |
[Dreamhack] baby-union write up (2) | 2024.03.31 |