TigerDemon
[6주차] Dreamhack csrf-1 본문
https://dreamhack.io/wargame/challenges/26
csrf-1
여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen
dreamhack.io
위 링크에 들어가 서버를 생성하면 이렇게 뜬다.


read_url 함수에서 cookie에 "domain" : "127.0.0.1" 이라는 쿠키값이 설정되는 것을 볼 수 있다.

이 페이지를 주목해야한다. 접속지 주소가 127.0.0.1 (루프백. 즉, 실행 서버와 같은 위치라는 뜻)가 아니면 Access Denied라는 문구를 띄워버린다. userid라는 파라미터가 admin이 아니라도 거부된다. 모든 조건을 만족하면 FLAG를 memo_txt에 덧붙인다.
1. /flag에서 실행되는 명령은 .admin/notice_flag 라는 페이지 접근 권한이 있다고 볼 수 있다.
2. /flag에서 실행시킬 명령에 userid=admin 이라는 파라미터를 함께 넘겨야 한다.
물론 /admin/notice_flag를 볼 수 없다. 하지만 /admin/notice_flag 페이지에 접속만 하면 memo_txt 변수에 flag값이 더해진다. 그리고 memo_txt는 전역 변수로 한번 덧붙이면 유일하며 불변하고 /memo 엔드 포인트에서 memo_txt를 볼 수 있다.
위 1번과 2번 조건을 기반으로 아래와 같은 명령을 flag 페이지에 입력하면 된다.
<img src="/admin/notice_flag?userid=admin" />

'2023-SWLUG > CTF 문제 풀이' 카테고리의 다른 글
| [6주차] WEBHACKING.KR old - 23 (0) | 2023.11.15 |
|---|---|
| [6주차] Dreamhack csrf-2 (0) | 2023.11.15 |
| [6주차] Dreamhack XSS Filtering Bypass (0) | 2023.11.15 |
| [5주차] Dreamhack XSS-2 (0) | 2023.11.08 |
| [5주차] XSS-Game level-5 (0) | 2023.11.08 |