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

BELATED ARTICLES

more