1. 문자열 치환될때 : XSS키워드를 필터링할때 단순하게 치환 혹은 제거하는방식의 필터링이 존재한다 이경우
scrscriptipt로 입력하면 script가 필터링되어 script로 만들어낼수있다 EX) <img oneonerrorrror=promonerrorpt(1)>
에서 onerror에가 제거되면서 <img onerror=prompt(1) /> 로 변한다
2.특수문자를 사용하여 우회하기 EX) <a href="\1\4jAVasC\triPT:alert(document.domain)">Click me!</a> 를 입력하면 \뒤에 있는 값이 제거되어 <a href="jAVasCriPT:alert(document.domain)">Click me!</a>와 똑같아진다
3.html entity 인코딩을한다 예를들면 <,>같은 특수한기호들을 속성내에 넣을때 잘못인식할수도있으므로 html entity인코딩이라는것을 만들었다 그래서 html에서 인코딩한값을 넣으면 디코딩하여 알아서 잘 인식한다
EX) <a href="\1JavasCr\tip&tab;:alert(document.domain);">Click me!</a> 라는 코드는 디코딩을하면 <a href="\1JavasCr\tip&tab;:alert(document.domain);">Click me!</a>와 같다
4.대분자 소문자를 구별안하는경우: HTML은 대소문자구별이 없기때문에 script라는 필터링이 있으면 SCRIPT로 입력하면 우회가 가능하다
5.탭문자(%09)를 이용한 검사우회
'보안 > XSS' 카테고리의 다른 글
CSP란? (0) | 2024.06.04 |
---|---|
자바스크립트 필터링 우회하는방법 (0) | 2024.05.28 |
XSS공격 가능한 태그,속성 모음 (0) | 2024.05.26 |