BUUCTF WEB easy_tornado
拿到题目,打开发现三个文件:
各自查看:
查阅资料得知tornado是一个python的框架,,,
前几天刚刚好做了个python的django的框架学习,,,
render好像是个渲染函数,,,,
看见那个hints.txt得知,我们需要知道cookie_secret是什么就能进行文件读取,,,
而且显然url有点特殊!!!文件读取,,,,尝试?filename=/fllllllllllllag发现报错了,,,
看着url参数后面显示的和页面显示一样,,,python的框架,,,,
可能使用了模板,尝试python模板注入,,,,貌似可以,,,,
也没怎么做过模板注入的题目啊!!!!
查阅资料了解模板注入,,,,SSTI模板注入
还是不能信任用户啊,,,不能受用户控制,,,,不过好像挺难,,,,
后面查阅tornado相关资料,了解到有一个类似于环境变量的东西,,,handler.settings,,,,
Tornado小记 – 模板中的Handler
获取handler.settings环境变量:
得到了cookie_secret,好办了,编写脚本:
import hashlib
def Md5(x):
md5 = hashlib.md5(str(x).encode("utf8")).hexdigest()
return md5
print(Md5("de539c46-345b-4025-8fc4-bf0388d35f1a"+Md5("/fllllllllllllag")))
得到flag:
不知道tornado这个的handler.settings真的可能做不出来,,,
web范围也太广了吧,,,,,