BUUCTF(WEB-writeup)[护网杯 2018]easy_tornado1 (做了好多题第一次开始写writeup)

首先启动环境,打开靶机地址:

看到有三个txt文件的超链接,全部点进去看看:

第一个里面告诉我们一个有用的信息flag在/fllllllllllllag文件中

第二个内容好像没什么用

第三个里面发现md5计算
md5(cookie_secret+md5(filename))

并且三个文件中都存在filehash

根据上面的信息基本猜测要找到cookie_secret并结合公式计算md5的值,

并且falg在在/fllllllllllllag文件中知道file?filename=/fllllllllllllag,这些相结合就能找到flag

(到这里暂时没有是没思路了,试了试改变地址栏的数据发现不行,又看到题目是easy_tornado 1;tornado是python的一个模板,可以看出这道题是模板注入类的题目,上网搜了一下,发现模板注入必须通过传输型如{{xxx}}的执行命令)

在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量。

于是乎直接用error?msg={{handler.settings}},对cookie_secret进行爆破

找到cookie_secret的值了,接着根据公式进行md5的加密md5(cookie_secret+md5(filename))



拼接后进行md5加密后得到filehash的值:65ef64cd329dac1ddf33890f1af10def(每个人的应该不同吧)

最后构建的payload是:

file?filename=/fllllllllllllag&filehash=65ef64cd329dac1ddf33890f1af10def

(千万别把file丢了,我就是丢了整了好几次都报错,最后还是得到了flag)

flag:flag{0755a4d9-687b-44ef-b86b-f619f5cf9837}


最后成功提交

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看的见的枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值