BUCCTF学习笔记-easy_tornado

BUCCTF学习笔记-easy_tornado

时间:2020/03/14
考点:模板注入、tornado框架

在这里插入图片描述

打开页面发现有三个链接
/flag.txt 显示 flag in /fllllllllllllag
/welcome.txt 显示 render
/hints.txt 显示 md5(cookie_secret+md5(filename))
URL 都显示参数 filename=xxxx&filehash=xxxxxxxxxxxxxxxxxxxxx

        综合上面的提示,不难猜到我们需要去访问/fllllllllllllag文件来读取flag,但在这个网站中访问文件需要同时给出参数filehash,这个参数应该就算使md5(cookie_secret+md5(filename))来计算。那么现在只剩下一个变量不确定了,那就是cookie_secret。前面还有一个提示render,模板注入很重要的一点就算模板在渲染的时候,将输入的内容执行导致被恶意利用,这里应该是提示我们这个地方有模板注入漏洞。

        尝试将filename修改成/fllllllllllllag,因为filehash不对会跳到一个报错页面。能发现这个报错页面存在模板注入漏洞。

在这里插入图片描述

        改变一下msg参数,能发现可以在页面中回显。但是输入msg={{7*7}}却发现后台应该是有过滤的,可能过滤了*号。

在这里插入图片描述

        在网上查了一下,tornado框架中有一个系统变量就算cookie_secret,只需要输入{{handler.settings}}

在这里插入图片描述

        现在所有参数都拿到了,只要按照他给的提示算出对应的filehash就可以了。

import hashlib

def md5(str):
   md = hashlib.md5()
   md.update(str.encode(encoding='utf-8'))
   result = md.hexdigest()
   return result

cookie_secret = '135dd62a-5456-4d3e-86b9-805b1869b815'
filename = '/fllllllllllllag'
filehash = md5(cookie_secret+md5(filename))
print(filehash)

通过脚本计算出filehash后,在URL上填入对应的?filename=/fllllllllllllag&filehash=9b1d0832e2fc5f13a3a83b109ce0bf0f就能得到对应flag

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值