打开做题环境后,会发现这么一个页面,也就是三个文件,里面都有一些内容,应该是和我们的做题步骤应该是有所关联的
按照文件顺序打开,分别是这三个内容,一个告诉我们flag的路径在/fllllllllllllag,一个告诉我们render,render是python中的一个渲染函数,渲染变量到模板中,即可以通过传递不同的参数形成不同的页面。还有一个hints就是要让我们得出的内容先后进行两次MD5加密。render是python中的一个渲染函数,渲染变量到模板中,即可以通过传递不同的参数形成不同的页面。先对cookie_secret进行md5加密,然后对flag的文件名也就是/fllllllllllllag进行加密。访问题目给出的flag所在的文件名,发现抱错显示error,并且url中有error?msg=Error
怀疑可能存在ssti模板注入漏洞,模板注入漏洞,本公众号之前有发过一期,可以参照。尝试一下构造payload:error?msg={{datetime}},在Tornado的前端页面模板中,datetime是指向python中datetime这个模块,Tornado提供了一些对象别名来快速访问对象,可以参考Tornado官方文档,发现并没有任何我们想要的信息
而hendler指向RequestHandler,RequestHandler.settings指向self.application.settings,因此handler.setting指向handler.settings指向RequestHandler.application.settings,可以当作我们的payload
payload:error?msg={{handler.settings}}
将我们md5加密后的文件名与我们的cookie_secret放到一起再次进行MD5加密
先文件名加密然后拼接加密
然后构造最后一个payload
payload:file?filename=/fllllllllllllag&filehash=e4b80ac4f541158a8ed9a62d71129b71
就可以得到我们最后的答案
flag:
原文始发于微信公众号(嗜心):攻防世界easytornado
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论