상세 컨텐츠

본문 제목

[XSS Challenges] Stage #6 풀이

[Tech] War Game/XSS Challenges

by tech-dailylife 2020. 6. 26. 10:44

본문

반응형

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

 

 

6번 문제입니다.

 

[문제 접근]

우선 태그 문법을 맞춘 XSS 공격 구문을 삽입해 봅니다.

 

 

공격이 실패하였습니다.

 

 

프록시 도구로 Response 패킷을 확인해보면, 필터링을 하고 있습니다. ("<"와 ">"를 "&lt;", "&gt;"로)

 

 

개발자 도구로 상태를 확인해보아도, 필터링이 된 것을 확인할 수 있습니다.

<와 >를 사용하지 않는 다른 XSS 공격 구문으로 우회를 해야 할 것 같습니다.

 

 

XSS Cheat Sheet를 참고하면 여러 XSS 공격 구문을 확인할 수 있습니다.

https://gist.github.com/kurobeats/9a613c9ab68914312cbb415134795b45

XSS Vectors Cheat Sheet

XSS Vectors Cheat Sheet. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

<와 >를 사용하지 않는 공격 방법을 적용해 보겠습니다.

 

 

[문제 정답]

정답 : "onfocus="alert(document.domain)

 

 

이 구문을 넣어주면, 

<input type="text" name="p1" size="50" value="" onfocus="alert(document.domain)">

이런 구문이 Response로 표시됩니다.

해당 text 타입 input 필드에 onfocus라는 옵션을 사용하여 alert를 호출하는 방법입니다.

 

 

공격을 시도하면, 공격 구문이 입력된 화면이 호출됩니다.

 

 

이 후, text 타입 input 필드에 onfocus 즉, 포커스를 주기 위해 클릭을 하면

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

 

 

 

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

 

 

참고로 이 창을 호출하려면, ESC를 눌러야 합니다. 이유는 확인을 누르면 계속 input 필드에 포커스가 있기 때문에 팝업이 연달아 호출됩니다. ESC를 눌러서 팝업을 종료하면서 input 필드 포커스도 없애야 합니다.

 

 

이 문제는 <와 >가 필터링 된 상황에서 onfocus라는 이벤트 핸들러를 사용하여 우회하는 것이 포인트입니다.

반응형

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

[XSS Challenges] Stage #8 풀이  (0) 2020.06.27
[XSS Challenges] Stage #7 풀이  (0) 2020.06.27
[XSS Challenges] Stage #5 풀이  (0) 2020.06.26
[XSS Challenges] Stage #4 풀이  (0) 2020.06.25
[XSS Challenges] Stage #3 풀이  (0) 2020.06.25

관련글 더보기

댓글 영역