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 &quot) 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