사이트 주소 : http://xss-quiz.int21h.jp
3번 문제입니다.
[문제 접근]
두 개 input 필드가 보입니다. 이전 문제처럼 text 타입의 필드와 select 형식의 필드(Japan 써있는 부분)가 존재합니다.
우선 1번 문제처럼 한 번 넣어볼까요. (참고로 저는 test 문자를 프록시 Tool에서 검색할 때 편하기 위해 넣고 있습니다.)
test<script>alert(document.domain)</script>
공격구문이 찍히지만 팝업이 뜨지는 않네요.
한번 프록시 도구로 패킷이 어떻게 나타나는지 확인해 보겠습니다.
Fiddler라는 프록시 도구를 사용하겠습니다. (Burp Suite 등 기호에 따라 사용하시면 됩니다. 일단 프록시 사용법은 넘어가겠습니다. 기회되면 따로 올리겠습니다.)
위 Response 패킷을 보면 "<"가 "<"로 ">"가 ">"로 필터링되어 공격이 실패하는 것으로 보입니다.
패킷을 보면 "in <b>Japan</b>"이 출력되는 걸 봐서, 이 부분도 공격을 시도해볼 필요가 있어 보입니다.
이 부분은 Japan으로 되어 있는 Select 필드가 해당되며, 이 부분은 프록시 도구를 사용하여 Request를 변조해야 할 필요가 있어 보이네요.
[문제 정답]
정답 : <script>alert(document.domain)</script> 를 p2 파라미터에 입력
우선 프록시 도구로 Search 버튼을 눌렀을 때의 Request 패킷을 캡처합니다.
그럼 p1과 p2 파라미터가 있고, p2에 들어가 있는 Japan 값을 확인할 수 있습니다.
이 p2 파라미터에 XSS 공격 구문을 삽입하고 전송해보겠습니다. (p1 파라미터에는 test를 입력해야 합니다.)
p1=test&p2=<script>alert(document.domain)</script>
Response 패킷을 보면 p2 공격 구문이 삽입되어, 브라우저에서 팝업이 실행될 것으로 보입니다.
태그도 제대로 구성된 것으로 보이니까요.
팝업에 도메인 주소가 나타납니다. 정답!
Congratulations!! 다음 스테이지로 넘어가시죠~
이 문제는 text 필드 이외의 필드를 Proxy 도구로 Request 변조를 통해 XSS 공격 구문을 보내는 것이 포인트입니다.
[XSS Challenges] Stage #6 풀이 (0) | 2020.06.26 |
---|---|
[XSS Challenges] Stage #5 풀이 (0) | 2020.06.26 |
[XSS Challenges] Stage #4 풀이 (0) | 2020.06.25 |
[XSS Challenges] Stage #2 풀이 (0) | 2020.06.25 |
[XSS Challenges] Stage #1 풀이 (0) | 2020.06.24 |
댓글 영역