TigerDemon

[6주차] Dreamhack XSS Filtering Bypass 본문

2023-SWLUG/CTF 문제 풀이

[6주차] Dreamhack XSS Filtering Bypass

호랑2D 2023. 11. 15. 12:48

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