-코드 분석


위에 코드를 봤을 때 vuln에서 param 값을 xss_filter(script, on, javascript)로 필터링 한 다음 출력되게 되어있습니다.
memo는 render_template에 저장이 된 후 출력이 됩니다.

vuln과 memo는 이용자의 입력값을 페이지에 출력을 합니다.
여기서 vuln은 입력 값을 페이지 그대로 출력을 하기에 XSS취약점이 발생할 수 있습니다. 그렇다면xss_filter만 우회를 하면 flag 값을 출력해 낼 것입니다.
-Exploit
우회 코드를 하나 짜왔습니다.
<scronipt>document['locatio'+'n'].href = "/memo?memo=" + document.cookie;</scronipt>
xss_filtering에 의해서 위 코드는 scr+on+ipt로 되어있기 때문에 on만 필터링이 되어 xss_filtering 반복문에서 빠져나와서 script가 실행이 되게 됩니다.

이 곳에서 코드를 입력하면

memo 페이지에서 flag 값이 출력이 되었습니다.
'[Dreamhack]wargame > WEB' 카테고리의 다른 글
[Dreamhack] CSRF Advanced 문 (0) | 2024.05.12 |
---|---|
[Dreamhack] XSS Filtering Bypass Advanced 문제 (0) | 2024.05.12 |
[Dreamhack] Web SSRF 문제 (0) | 2024.05.12 |
[Dreamhack] File Download 문제 (0) | 2024.05.12 |
[Dreamhack] Image Storage 문제 (0) | 2024.05.12 |