[Dreamhack Web - Lv 1] xss-2

문제 정보

여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다.
XSS 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.

풀이 힌트

1. Xss 우회

문제 풀이

더보기

문제 사이트로 들어가면 xss-1와 똑같은 사이트가 나온다.
처음엔 "잘 못 설정된 건가?"라는 생각을 했지만, vuln(xss) page에서 xss를 삽입하니 xss에 xss 필터링이 걸어져 있는 것 같았다.

 

xss-1 문제에선 잘 실행되었던 것이 현재는 작동을 안하고 있다.

 

 on 이벤트도 막힌 것으로 보인다.

 

인터넷에 "xss 방화벽 우회"라고 검색하니, 다양한 우회 방법이 나왔다.
그 중 <svg/onload="alert(1)">와 같은 형식으로 우회하는 방법으로 시도하니, xss가 먹히는 것을 볼 수 있었다.

xss 우회 참고 사이트 : https://noirstar.tistory.com/309

 

이 다음부터는 xss-1에서 사용한 방법대로 그대로 적용하면 될 것 같다.
내가 풀이한 xss-1 문제는 다른 서버로 쿠키 값을 보내는 것을 했는데, 이번엔 해당 사이트의 memo 페이지에 관리자의 쿠키 값을 넘기는 것으로 문제 풀이를 하겠다.

 

<svg/onload=location["href"]="http://127.0.0.1:8000/memo?memo="+document["cookie"]>

location.href를 이용하여 서버에 요청을 보내는데, cookie 값도 포함시켜서 보냈다.

 

요청을 잘 보냈는지, 확인하는 방법은 memo 페이지에 들어가서 flag가 있는지 확인하면 된다.
flag가 있는 것을 보니, 내가 생각한 대로 잘 작동하였다.

 

코드를 살펴보니, xss-1 문제의 코드와 별 다른 것이 없어서 코드 분석은 넘어가겠다.

 

'Wargame > Dreamhack' 카테고리의 다른 글

[Dreamhack Web - Lv 1] Tomcat Manager  (0) 2021.11.24
[Dreamhack Web - Lv 1] csrf-2  (0) 2021.11.22
[Dreamhack Web - Lv 1] devtools-sources  (0) 2021.11.13
[Dreamhack Web - Lv 1] session  (0) 2021.11.12
[Dreamhack Web - Lv 1] mongoboard  (0) 2021.11.10