
해당 문제를 풀기 위해서, 이전과 같이 서버 생성하기 버튼을 클릭해 주고 문제 파일을 다운로드합니다.

생성된 서버를 클릭하니 해당과 같은 화면이 나타나는 것을 볼 수 있었습니다.


문제에 접근하기 위해, 다운로드한 코드를 살펴보았습니다.
해당 문제는, 프락시(Proxy)를 사용하여 네트워크에서 통신하는 패킷을 가로채서 사용자가 원하는 분석 및 조작, 확인 등을 할 수 있게 도와주는 앱이 필요하므로 버프 스위트(Burp Suite)를 이용하여 문제를 풀었습니다.
버프 스위트(Burp Suite)의 실행 방법으로는, 첫 번째로 상단의 (Proxy)를 클릭하고

proxy settings을 다시 한번 클릭합니다.

클릭하여서 Enabled에 체크 표시를 해줍니다.

Intercept is off를 Intercept is on 모드로 변경 후 open browser를 클릭해 줍니다.

브라우저를 열고, 서버가 생성된 url (문제 사이트)의 링크를 붙여 넣기 해줍니다.
그다음에 내가 요청하고 싶은 url을 작성해 줍니다.

저는 해당 내용의 url을 작성하였습니다.

그랬더니 해당 화면이 나타나는 것을 확인할 수 있습니다.

다시 Proxy화면으로 돌아가서, POST 44번을 선택하였습니다.
공격할 때는 request를 이용하기에 POST 옆의 메뉴 버튼을 눌러 intruder(인트루더)로 보내었습니다.


url 전체 clear 후, ,8000만 add 버튼을 눌러주었습니다.

8000만 add 버튼을 눌렀더니, 해당 화면과 같이 나타난다는 사실을 알 수 있었습니다.

다시 payload로 들어와서 세팅해 주었습니다.
우리가 flag를 얻기 위해서는, 1500부터 1800까지 실행시켜야 하기에 타입은 number으로,
1500부터 1800까지 1씩 커지게 작성하였습니다.

최소, 최대 4자리 숫자이므로 4로 설정해 주었고
또한 소수점 자리 수는 없으므로, 0으로 설정해 주었습니다.



실행하면 길이가 다른 번호 하나가 나오게 되는데, 그 번호가 바로 flag가 들어있는 number인 것을 알 수 있습니다.

해당 number을 이용하여 flag url을 넣어줍니다.

해당 number을 이용하여 flag url을 넣어주었을 때도, 위와 같은 화면이 나타난다는 사실을 알 수 있습니다.

그렇기에 F12 키를 눌러 개발자도구 화면을 열어 확인해 보았습니다.
해당 값을 base 64 디코더로 decode 해야 하기에,

해당 사이트를 열어서 값을 넣어주니,

우리가 얻고자 하는 flag가 출력되었음을 확인할 수 있었습니다.

문제풀이 완-료!
'Dreamhack' 카테고리의 다른 글
| [Dreamhack 문제 풀이 _blind-command] (0) | 2023.11.25 |
|---|---|
| [Dreamhack_문제 풀이 _Carve Party] (0) | 2023.11.25 |
| [Dreamhack_web 문제 풀이 _file-download-1] (0) | 2023.11.18 |
| [Dreamhack_web 문제 풀이 _ image-storage] (0) | 2023.11.18 |
| [Dreamhack_web 문제 풀이_command-injection-1] (0) | 2023.11.18 |