템플릿 구문을 넣어본 결과에 따라 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 |