Blog

최근 블로그

운영 기록, 자동화 메모, 실전 노트

TAB 하나로 필터 열 개를 뚫다 — DreamHack XSS Filtering Bypass Advanced 풀이

TAB 하나로 필터 열 개를 뚫다 — DreamHack XSS Filtering Bypass Advanced 풀이

script, javascript, document, location, (, )까지 10개 이상의 키워드를 차단하는 XSS 필터. 그런데 javas\tcript처럼 TAB 문자(\t)를 키워드 중간에 끼우면 필터는 통과하고 브라우저는 그대로 실행한다. WHATWG URL 스펙이 정의한 정규화 동작과 Python 문자열 필터 사이의 갭을 파고들어 쿠키를 탈취하고 FLAG를 획득하는 과정을 단계별로 정리한다.

#dreamhack#ctf
2026-04-01
한 번 막히고 나서야 보였던 체인: DreamHack EZ-Anti-LLM Pingback SSRF 풀이

한 번 막히고 나서야 보였던 체인: DreamHack EZ-Anti-LLM Pingback SSRF 풀이

WordPress 6.9.1 Pingback Blind SSRF를 이용해 2-Hop 체인으로 내부 Flag 서버의 값을 외부로 끌어낸 DreamHack Level 5 문제 풀이. 삽질 포인트부터 최종 익스플로잇 흐름까지 차근차근 정리했다.

#dreamhack#ctf
2026-03-31
DreamHack basic_exploitation_002 풀이: Format String으로 GOT 덮어쓰기

DreamHack basic_exploitation_002 풀이: Format String으로 GOT 덮어쓰기

printf(buf)의 Format String 취약점을 이용해 exit@got를 get_shell 주소로 덮어쓰고 셸을 획득하는 과정을 단계별로 정리합니다. pwntools fmtstr_payload로 40바이트 페이로드 하나로 FLAG 획득.

#dreamhack#ctf
2026-03-31
DreamHack Secret Data: Blind SQLi로 admin 비밀번호 추출 → 플래그 획득

DreamHack Secret Data: Blind SQLi로 admin 비밀번호 추출 → 플래그 획득

/search 엔드포인트의 SQL 문자열 직접 결합 취약점을 이용해 블라인드 boolean 방식으로 admin 비밀번호를 한 글자씩 추출하고, /admin에서 최종 플래그를 획득한 전 과정을 정리합니다.

#dreamhack#ctf
2026-03-31