simplecalculator
2023. 5. 3. 09:00
이번 문제는 CTF 대회에서 이미 풀어봤던 문제이다.
처음 보는 SSTI 취약점이라서 해당 부분을 공부하고 진행하였는데 오랜 시간 붙잡아서 겨우 풀었던 기억이 있다.
그 기억을 살려서 다시 풀어보자.
우선 /source를 확인하라고 나와있다.
소스 코드를 확인하면 계산기가 구현되어 있는 것을 확인할 수 있었다.
소스코드에 나와있는 대로 계산기를 작동시키니 다음처럼 뜨는 것을 확인할 수 있었다.
SSTI 구문 중 가장 간단한 {{7*7}}을 통해 동작되는 부분을 찾으려고 하였으나 실패하였다.
다른 템플릿으로 구현이 된 건가 하여 다른 구문으로 시도해 봤지만 실패하였다.
그래서 해당 문제를 피들러를 통해 확인해 보았다.
그랬더니 쿠키 값으로 UserName=guest를 넘겨주고 있는 것을 확인할 수 있었다.
guest를 넘겨주어서 해당 계산기를 작동하였을 때 Hello guest가 뜨는 것 같았다.
소스 코드에서 Hello %s라고 나와있는 것을 통해 guest 대신 다른 것도 들어갈 수 있겠구나 생각하였다.
그래서 guest 대신 {{7*7}}을 넣어보았다.
그랬더니 Hello {{7*7}}으로 나오는 것이 아닌 Hello 49로 7*7이 계산되어 나온 것을 확인할 수 있었다.
이제 해당 구문이 제대로 동작한다는 것을 확인했으니 {{7*7}} 대신 {{config}}를 넣어보았다.
그랬더니 flag 값을 확인할 수 있었다.
seKUCTF{@@V3RyVErY_s1MpIe_to_S0lVe!!@@}
'Web - 실습' 카테고리의 다른 글
forcelogin 2 (0) | 2023.04.05 |
---|---|
forcelogin 1 (0) | 2023.04.02 |
forelength (0) | 2023.03.26 |
pingservice (0) | 2023.03.21 |
HelloCTF (0) | 2023.03.19 |