상세 컨텐츠

본문 제목

[XSS Challenges] Stage #4 풀이

[Tech] War Game/XSS Challenges

by tech-dailylife 2020. 6. 25. 16:53

본문

반응형

사이트 주소 : http://xss-quiz.int21h.jp 

 

 

4번 문제입니다.

 

[문제 접근]

두 개 input 필드가 보입니다. 이전 문제처럼 text 타입의 필드와 select 형식의 필드(Japan 써있는 부분)가 존재합니다.

이 두 부분은 XSS 공격을 시도해 확인해보면 필터링을 하고 있습니다. ("<"와 ">"를 "&lt;", "&gt;"로)

프록시 도구로 패킷이 어떻게 나타나는지 확인해 보겠습니다.

Request 패킷을 확인하면, p3 파라미터에 hackme라는 값이 있는 것이 보입니다.

이 부분에 XSS 공격 구문을 넣으면 성공할 것으로 예상됩니다.

p3 부분의 hackme를 XSS 공격 구문 "<script>alert(document.domain)</script>"로 바꿔 날립니다.

p1=test&p2=&p3=<script>alert(document.domain)</script>

그런데 공격이 성공되지 않습니다..

Response 패킷을 확인해보면, 태그가 맞게 들어가지 않았습니다.

<input type="hidden" name="p3" value="<script>alert(document.domain)</script>">

이렇게 되서 <script> 구문이 실행되지 않았습니다.

2번 문제에서 했듯이 태그도 맞춰서 공격 구문을 삽입해봅니다.

 

 

[문제 정답]

정답 : "><script>alert(document.domain)</script><" 를 p3 파라미터에 입력

 

팝업에 도메인 주소가 나타납니다. 정답!

Congratulations!! 다음 스테이지로 넘어가시죠~

 

그 전에! 매번 Response를 확인하기 귀찮다면, 다른 방법도 존재합니다.

브라우저에서 F12를 눌러 개발자 도구를 실행하면 클라이언트 단의 웹 코드를 볼 수 있습니다.

화살표 표시로 웹 UI를 클릭하면 해당 부분을 쉽게 찾을수 있는데요.

확인해보면 input 필드가 어떻게 구성되었는지 확인이 가능합니다.

태그의 구성 등을 확인하고 value 값에 예상된 XSS 공격 구문을 삽입하면 더 빠르게 해결할 수 있습니다.

 

 

 

이 문제는 hidden 필드가 존재할 수 있고, 그 필드를 공격하는 것도 하나의 포인트라는 것이 핵심입니다.

반응형

'[Tech] War Game > XSS Challenges' 카테고리의 다른 글

[XSS Challenges] Stage #6 풀이  (0) 2020.06.26
[XSS Challenges] Stage #5 풀이  (0) 2020.06.26
[XSS Challenges] Stage #3 풀이  (0) 2020.06.25
[XSS Challenges] Stage #2 풀이  (0) 2020.06.25
[XSS Challenges] Stage #1 풀이  (0) 2020.06.24

관련글 더보기

댓글 영역