TigerDemon
[6주차] Dreamhack XSS Filtering Bypass 본문
https://dreamhack.io/wargame/challenges/433
XSS Filtering Bypass
Description Exercise: XSS Filtering Bypass에서 실습하는 문제입니다. 문제 수정 내역 2023.08.04 Dockerfile 제공
dreamhack.io
위 링크에 들어가면 이렇게 아래 사진과 같이 뜬다.


위 사진의 코드를 보면 FLAG가 cookie 형태로 전달되는 것을 확인할 수 있다.

위 사진의 코드를 보면 check_xss는 param으로 전달받은 것을 localhost에서 실행하도록 한다는 것을 알 수 있다.

/vuln 접속시 xss_filter를 활용하여 xss 공격으로부터 보호하고자 한다는 것을 확인할 수 있다.
이때 xss filter는 script, on, javascript: 입력시 " "으로 치환되도록 한다.

그리고 read url은 입력받은 param으로 제공된 cookie를 삽입하여 url에 접속한다.
강조한 두 내용인 1. xss filter는 script, on, javascript: 입력시 ""으로 치환된다. 2. read url은 입력받은 param으로 제공된 cookie를 삽입하여 url에 접속한다.
따라서 xss를 활용하여 document.cookie를 이용해 출력 진행이 가능하다고 보인다.
<script>lacation.href="/memo?memo=FLAG:"+document.cookie</script>
위와 같이 입력된다면 vuln 페이지를 활용하여 xss 공격 수행이 가능하다 하지만 Filter가 적용되어 있다.
script->scrip+[_filter's element]+t이와 같은 형식으로 변환시 우회 가능(""으로 치완되기 때문에)
예시 : scripont -> "scrip" + "on" + "t" = "scrip" + "" + "t" = "script"
<scronipt>document['locatio'+'n'].href="/memo?memo="+document.cookie;</scronipt>

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