DreamHack

DreamHack 1단계 xss-1

jhyuxxk 2021. 7. 11. 19:02

DreamHack 1단계 xss-1 문제를 풀어보겠다.

 

XSS 취약점 문제
문제 파일
접속 화면

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

 

vuln(xss) page 화면

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

 

memo 화면

memo 함수는 flag 에 입력한 값이 성공시 출력되는 페이지이다.

왜냐하면, memo 함수에서 이미 hello 라는 문자열이 있기 때문에 쿠키 값이 존재한다고 생각할 수 있다.

 

flag 화면

flag 함수는 스크립트 언어를 기입하여, 공격하는 페이지이다.

 

 

이렇게, 각각의 페이지를 확인할 수 있다.

 

read_url 함수 화면

read_url 함수를 보면 이 함수에서 쿠키가 생성이 되고, domain 이 127.0.0.1:8000 이다.

우리가 제공받은 주소와 포트도 다르기 때문에 쿠키 값에는 저장되어 있지 않다.

 

따라서 127.0.0.1:8000 에서 확인을 해야한다.

 

check_xss 함수 화면

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

 

flag 페이지에서 script 문 입력 화면

flag 함수에서 check_xss 함수로 넘어가기 때문에 

입력 란에,

<script>location.href="http://127.0.0.1:8000/memo?memo=hello"+document.cookie;</script> 라고,

전체 경로를 입력하면 FLAG 값을 얻을 수 있다.

 

script 문 입력 후, memo 페이지로 이동한 화면

이렇게 FLAG 가 출력된다.