DreamHack
DreamHack 1단계 xss-1
jhyuxxk
2021. 7. 11. 19:02
DreamHack 1단계 xss-1 문제를 풀어보겠다.



접속을 하면 세 페이지가 나오는데,

vuln 함수는 필터링이 없어서 xss 가 가능하다.

memo 함수는 flag 에 입력한 값이 성공시 출력되는 페이지이다.
왜냐하면, memo 함수에서 이미 hello 라는 문자열이 있기 때문에 쿠키 값이 존재한다고 생각할 수 있다.

flag 함수는 스크립트 언어를 기입하여, 공격하는 페이지이다.
이렇게, 각각의 페이지를 확인할 수 있다.

read_url 함수를 보면 이 함수에서 쿠키가 생성이 되고, domain 이 127.0.0.1:8000 이다.
우리가 제공받은 주소와 포트도 다르기 때문에 쿠키 값에는 저장되어 있지 않다.
따라서 127.0.0.1:8000 에서 확인을 해야한다.

check_xss 함수를 보면 입력한 URL 을 참조하는 것을 알 수 있다.

flag 함수에서 check_xss 함수로 넘어가기 때문에
입력 란에,
<script>location.href="http://127.0.0.1:8000/memo?memo=hello"+document.cookie;</script> 라고,
전체 경로를 입력하면 FLAG 값을 얻을 수 있다.

이렇게 FLAG 가 출력된다.