사이트 주소 : http://xss-quiz.int21h.jp
6번 문제입니다.
[문제 접근]
우선 태그 문법을 맞춘 XSS 공격 구문을 삽입해 봅니다.
공격이 실패하였습니다.
프록시 도구로 Response 패킷을 확인해보면, 필터링을 하고 있습니다. ("<"와 ">"를 "<", ">"로)
개발자 도구로 상태를 확인해보아도, 필터링이 된 것을 확인할 수 있습니다.
<와 >를 사용하지 않는 다른 XSS 공격 구문으로 우회를 해야 할 것 같습니다.
XSS Cheat Sheet를 참고하면 여러 XSS 공격 구문을 확인할 수 있습니다.
https://gist.github.com/kurobeats/9a613c9ab68914312cbb415134795b45
<와 >를 사용하지 않는 공격 방법을 적용해 보겠습니다.
[문제 정답]
정답 : "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라는 이벤트 핸들러를 사용하여 우회하는 것이 포인트입니다.
[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 |
댓글 영역