Bypass blank,slash filter for XSS
⚠️ XSS에 대한 전반적인 내용은 Cullinan > XSS 페이지에서 관리하고 있습니다. 해당 페이지에서 최신 데이터가 유지되니 참고 부탁드려요 :D
Hi, hackers.
The XSS pattern I’m going to talk to you about today… but It’s not a new technique, it’s something. I did not know that… Event Handler XSS is usually a difficult situation when slashes and blank characters are being filtered. The ““(double-double ") processed value of the HTML properties allows you to isolate the property value, or event handler, without spaces or slashes in a particular environment.
오늘 이야기드릴 XSS 패턴은.. 새로운 기법은 아니고, 제가 모르고 있던 방법이였습니다. (페이로드들 자세히좀 살펴볼껄..)
보통 슬래시와 공백문자가 필터링 중일 떄 일반적으로 이벤트 핸들러를 이용한 XSS는 어려운 상황입니다. HTML 속성 중 “”
처리한 값을 잘 이용하면 특정 환경에선 속성값 즉 이벤트 핸들러를 공백이나 슬래시 없이 분리해 낼 수 있습니다.
TL;DR
if filtered slash, blank just simple.
<svg/whatthe=""onload=alert(45)>
Why Execute?
Can split the HTML properties using “”
after inserting the attribute values through a space or slash in the HTML tag.
처음 공백이나 / 이후로 태그 위치에서 분리된 경우 “”
를 통해 HTML 속성 간 분리가 가능합니다. 그래서 겉보기엔 whatthe라는 이벤트 핸들러에 “”
, 다음 문자인 onload=alert(45)
는 속성처리 되지 않을 것 같지만 문자열 이후 오는 첫번째 단어라서 속성으로 분리됩니다.
My case
/
=> fileted
%20
=> filtered
/;
=> not filted
Payload
"><svg/;onload="alert(45)"onload=alert(45)>">
XSpear updated
I added commit and update XSpear for this pattern.
Add event handler pattern
whatthe=""onload
Add common XSS Pattern
"'><svg/whatthe=""onload=alert(45)>
Add event handler pattern on 1.1.6 commit