사이트 주소 : http://xss-quiz.int21h.jp
2번 문제입니다.
[문제 접근]
우선 1번 문제처럼 한 번 넣어볼까요
<script>alert(document.domain)</script>
틀렸다고 다시 시도하라고 나옵니다.
한번 프록시 도구로 패킷이 어떻게 나타나는지 확인해 보겠습니다.
Fiddler라는 프록시 도구를 사용하겠습니다. (Burp Suite 등 기호에 따라 사용하시면 됩니다. 일단 프록시 사용법은 넘어가겠습니다. 기회되면 따로 올리겠습니다.)
위 Request 패킷을 보면 p1이라는 파라미터에 사용자 입력값을 실어서 POST 형식으로 보내는 것을 알 수 있습니다.
또한 아래의 Response 패킷을 살펴보면 입력한 공격 구문이 value 안에 들어가는 것을 알 수 있습니다.
<input type="text" name="p1" size="50" value="입력값">
위 처럼 구성되기 때문에 공격이 성공되도록 구문 형태를 맞춰서 공격 시도하면 될 것 같네요. Javascript 태그를 맞춰주는 것입니다.
[문제 정답]
정답 : "><script>alert(document.domain)</script><"
공격 구문을 취처럼 넣으면, Response 패킷이 이렇게 되겠죠.
<input type="text" name="p1" size="50" value=""><script>alert(document.domain)</script><"">
그렇게 되서, <script>alert()</script> 구문이 브라우저에서 실행되어 성공하게 됩니다.
팝업에 도메인 주소가 나타납니다. 정답!
Congratulations!! 다음 스테이지로 넘어가시죠~
이 문제는 Javascript의 태그 형식을 잘 맞추어 script를 실행시키는 것이 포인트입니다.
[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 #3 풀이 (0) | 2020.06.25 |
[XSS Challenges] Stage #1 풀이 (0) | 2020.06.24 |
댓글 영역