Client Side Template Injection XSS

: 클라이언트 측에서 사용하는 템플릿에 임의의 코드를 주입하는 공격
공격자 관점에서 템플릿 표현식 + 자바스크립트 구문 조합을 통해 XSS 시도
결과값이나 영향도는 XSS와 유사

 

*샌드박스 : 외부로부터 전달받은 파일을 바로 실행하지 않고 보호된 영역에서 실행시켜봄으로써,
외부로부터 들어온 파일과 프로그램이 내부에 영향을 끼치는지 여부를 검사하는 기술

- 주로 사용되는 payload
$eval : 샌드박스 환경에서 허용되는 함수
객체 : toString(), charAt(), prototype, constructor 등
표현식 : {{}}, [] 

위 객체와 표현식을 통해서 샌드박스를 벗어나게 하여 외부 요청값에서 전달받은 스크립트 실행하도록 유도

- 테스트 payload (CSTI XSS가 먹히는지 확인)
{{9*9}}
${9*9}
${{9*9}}
<%= 9*9 %>
#{9*9}

output : 81로 계산되어서 나오면 공격시도 가능

 

구체적인 공격 코드는 아래 참조

https://guleum-zone.tistory.com/195

 

CSTI(Client Side Template Injection) 취약점

CSTI 란? Client Side Template Injection으로 클라이언트 측에서 사용되는 템플릿에 임의 구문을 주입한다는 의미를 가집니다. 브라우저 상에서 입력된 템플릿 표현식을 프론트 측에서 이해하고 원하는

guleum-zone.tistory.com

 

'WEB' 카테고리의 다른 글

burp proxy 설정 관련  (0) 2023.10.23
오토 스케일링(Auto Scaling)과 클러스터링(Clustering)  (0) 2023.08.30
API 이해  (0) 2023.07.06
OWASP TOP 10 참고링크  (0) 2023.06.09
톰캣 보안 조치  (0) 2023.05.25

+ Recent posts