흠, filename을 받고 filehash를 받는다.
hints.txt에는 md5로 해싱한 파일네임을 쿠키 시크릿이랑 또 해싱해서 파일해시를 구한다고 한다.
틀린 해시를 입력하면 `/error?msg=Error`로 넘어가게 된다.
여기서 좀 헤맸는데, msg 파라미터로 들어간 값이 response에 그대로 찍히는걸 보고 ssi나 ssti를 의심했어야 했다.
앗.. 빙고
ssti(server side template injeciton)이다.
근데 필터링이 좀 많다.
() [] + - * / _ 등 많은 특수문자가 필터링 되고 있다.
허,, 여기서도 한참 헤맸는데
문제이름이 easy_toranado인걸 착안해서 github에 tornado를 찾아보면
tornado라는 이름의 python으로 구현된 web server가 나온다.
여기서 cookie_secret을 찾아보면
web.py에 create_signed_value()에 self.application.settings["cookie_secret"]을 설정해주고 있는것을 볼 수 있다.
소스코드를 보면 class RequestHandler의 설정값인 application.settings의 딕셔너리에 cookie_secret을 담고 있는것을 확인할 수 있다.
그리고 auth.py를 살펴보자
auth.py에도 cookie_secret이 존재하는데 위에 보면 아까 봤던 RequestHandler class를 'handler'라는 이름으로 할당해준것을 확인할 수 있따.
한마디로 self.application.settings를 살펴보려면 handler.application.settings.cookie_secret을 살펴보면 된다는 뜻.
근데 _(언더바)가 필터링이니 handler.application.settings 를 살펴보면 되시겠다.
나머진 ffffffflag인가 그 파일 md5 해시 맞춰주고 읽으면 끝
'Web > BUUCTF' 카테고리의 다른 글
[BUUCTF] - [强网杯 2019]高明的黑客1 (0) | 2020.02.14 |
---|---|
[BUUCTF] - [HCTF 2018]admin1 (0) | 2020.02.13 |
[BUUCTF] - [SUCTF 2019]EasySQL1 (0) | 2020.02.13 |
[BUUCTF] - [强网杯 2019]随便注1 (0) | 2020.02.12 |
[BUUCTF] - [HCTF 2018]WarmUp1 (2) | 2020.02.11 |