打开题目依次查看三个链接,并查看url
/file?filename=/hints.txt&filehash=6615ce559d0b53983169903e65519831
可知flag存储在/fllllllllllllag,请求文件使用file接口,传输文件名以及一个哈希值,哈希值由md5(cookie_secret+md5(filename))组成。
先来直接请求一下/fllllllllllllag但不传输哈希值。
可以看到我们被重定向到了error界面,url中的msg参数会被输出到网页上。
在url中对msg参数进行修改可以发现网页上的提示也同步被修改,此时可以怀疑这里存在模板注入。
tornado的配置这里名为 handler.settings ,我们将它用{{}}包裹起来作为参数传给error。
可以看到这时cookie_secret就被泄漏出来了。(注:每次启动此cookie_secret应该不同)
验证一下:
md5(f6b4c50b-b881-4913-9d8a-7da82bd0481e+md5(filename))
与url中请求的相同,此时可以获取flag了。
Buuoj [护网杯 2018]easy_tornado 1:等您坐沙发呢!