点开靶机,发现三个文件逐一点开
/flag.txt 第一个文件打开
/flag.txt
flag in /fllllllllllllag
它的意思应该是flag在文件fllllllllllllag里面,所以我们就需要考虑怎么进入文件里面
/welcome.txt 打开后,发现一个render参数,而render是tornado里面的渲染函数,就是对web网页界面进行编辑的函数,和template的渲染是相似的主要区别render是以脚本的方式渲染,template是以html方式进行渲染。这个重点在于是服务器模板,基本可以确定这是ssti(服务器模板注入)
/hints.txt 打开第三个文件 发现是哈希编码
根据以上文件,我们发现了两个参数一个是filename,另一个是filehash,也就是说filename是第一个文件的提示,filehash是第三个文件的提示,那么问题就是如何传参获取cookie_secret
这里修改一下filename的值为2211,传进去后返回了以下界面,也就是说以msg的值进行传参
接下来翻找了很多资料根据题目提示我去tornado官方文档看了一下语法,{{handler.settings}}
详情请看web buuctf [护网杯 2018]easy_tornado1_半杯雨水敬过客的博客-CSDN博客
传参之后得到cookie_secrect的值,再通过md5加密和脚本计算md5(cookie_secret+md5(filename)
先加密/fllllllllllllag的值
再根据上面的语法再加密一次
3cb3cb8d-d9ab-4c0a-9dc8-724ff4a506f93bf9f6cf685a6dd8defadabfb41a03a1
最后得到flag