템플릿 구문을 넣어본 결과에 따라 SSTI(Server-Side Template Injection)가 되는지 여부를 판단할 수 있다.

본 문제는 flask로 구동되기 때문에 템플릿 구문으로 {{}}를 사용한다.

{{1*1}}을 넣어 봤을 때,
{{1*1}} 페이지를 찾을 수 없다면 SSTI가 안 되는 것이고,
1 페이지를 찾을 수 없다면 SSTI가 되는 것이다.

본 문제에서는 1 페이지를 찾을 수 없다고 하기에 SSTI에 취약한 것을 알 수 있다.
또한 플래그는 app.secret_key에 저장되어 있기 때문에 어플리케이션 설정 값({{config}})을 통해 확인할 수 있을 것이다.

{{config}} 를 넣어보면, SECRET_KEY 변수에 플래그가 저장되어 있는 것을 확인할 수 있다.

Reference

[1] https://me2nuk.com/SSTI-Vulnerability/
: SSTI에 대한 다양한 정보가 잘 정리되어 있다.

'0x40 Web Hacking' 카테고리의 다른 글

Dreamhack :: devtools-sources  (0) 2022.05.17
Dreamhack :: simple_sqli  (0) 2022.05.17
Dreamhack :: session-basic  (0) 2022.05.17
Dreamhack :: Carve Party  (0) 2022.05.17

+ Recent posts