Security

    [WEB] SSTI (Server-Side Template Injection) for Jinja2

    0. Server-Side Template Injection SSTI(Server Side Template Injection)은 공격자가 서버측 템플릿 구문을 통한 악성 페이로드를 페이지에 삽입하여 실행되도록 하는 공격기법이다. 간단한 예시를 통해 이해해보자. ... ... {value} ... ... 위의 코드가 template engine에서 처리 되어 value 파라미터에 "Hello world"가 전달된다면 아래와 같이 치환된다. ... ... Hello world ... ... 이 때, 임의의 실행 가능한 코드를 넘겨준 경우, 서버측에서 실행 과정을 거친 후 결과가 반환된다. 예를 들면 7*7 이라는 식이 49라는 값으로 반환되어 사용자에게 출력된다. {{7*7}} # output: 49 SST..

    [WEB] DOM Clobbering XSS (DOM Based XSS)

    이 글에선 DOM Clobbering이 무엇인지에 대해 소개하고, DOM 취약점을 Clobbering 기술을 이용하여 어떻게 exploit 해야하는지, 방어는 어떠한 방식으로 이루어지는지에 대해 설명할 것이다. 0. Basic 1) DOM Clobbering XSS vs DOM Based XSS 처음 DOM Clobbering XSS를 접했을 때, DOM Based XSS랑 다른건가? 라는 생각이 들었다. XSS의 종류에 대해 간단하게 짚고 넘어가보자. 위 그림을 보면 알 수 있듯이, XSS에는 2가지 종류 Stored(Persistent) XSS, Reflected XSS로 구분이 가능하다. DOM Based XSS는 Stored 형태로 나타날 수도 있고, Reflected 형태로 나타날 수도 있다. ..