攻防世界easytornado

admin 2023年10月30日02:32:40评论35 views字数 938阅读3分7秒阅读模式

攻防世界easytornado

打开做题环境后,会发现这么一个页面,也就是三个文件,里面都有一些内容,应该是和我们的做题步骤应该是有所关联的

攻防世界easytornado

攻防世界easytornado

攻防世界easytornado按照文件顺序打开,分别是这三个内容,一个告诉我们flag的路径在/fllllllllllllag,一个告诉我们render,render是python中的一个渲染函数,渲染变量到模板中,即可以通过传递不同的参数形成不同的页面。还有一个hints就是要让我们得出的内容先后进行两次MD5加密。render是python中的一个渲染函数,渲染变量到模板中,即可以通过传递不同的参数形成不同的页面。先对cookie_secret进行md5加密,然后对flag的文件名也就是/fllllllllllllag进行加密。访问题目给出的flag所在的文件名,发现抱错显示error,并且url中有error?msg=Error

攻防世界easytornado

怀疑可能存在ssti模板注入漏洞,模板注入漏洞,本公众号之前有发过一期,可以参照。尝试一下构造payload:error?msg={{datetime}},在Tornado的前端页面模板中,datetime是指向python中datetime这个模块,Tornado提供了一些对象别名来快速访问对象,可以参考Tornado官方文档,发现并没有任何我们想要的信息

攻防世界easytornado

而hendler指向RequestHandler,RequestHandler.settings指向self.application.settings,因此handler.setting指向handler.settings指向RequestHandler.application.settings,可以当作我们的payload

payload:error?msg={{handler.settings}}

攻防世界easytornado将我们md5加密后的文件名与我们的cookie_secret放到一起再次进行MD5加密

攻防世界easytornado先文件名加密然后拼接加密

攻防世界easytornado然后构造最后一个payload

payload:file?filename=/fllllllllllllag&filehash=e4b80ac4f541158a8ed9a62d71129b71

就可以得到我们最后的答案

flag:

攻防世界easytornado

原文始发于微信公众号(嗜心):攻防世界easytornado

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月30日02:32:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   攻防世界easytornadohttp://cn-sec.com/archives/2152294.html

发表评论

匿名网友 填写信息