2025.2.8——一、[护网杯 2018]easy_tornado tornado模板注入

题目来源:BUUCTF 护网杯 2018easy_tornado

目录

一、打开靶机,整理信息

二、解题思路

[step 1:分析已知信息](#step 1:分析已知信息)

[step 2:目标------找到cookie_secret](#step 2:目标——找到cookie_secret)

[step 3:构造payload](#step 3:构造payload)

三、小结


一、打开靶机,整理信息

直接给了三个文件,点进去看看

给了这三个信息,开始分析

二、解题思路

step 1:分析已知信息

1.告诉了我们flag in /fllllllllllllag

2.第二个文件重点render,是python中的一个渲染函数,url都是由filename和filehash组成,filehash即位他们filename的md5值

3.md5(cookie_secret+md5(filename)),给了我们加密方式,是将cookie_secret和md5(filename)拼接起来,再进行一次md5加密,所以我们需要找到cookie_secret,而第一条信息给我们的是flag在/fllllllllllllag文件中,所以猜测filename=/fllllllllllllag

But,url上面有点奇怪,可以一起看一下

/file?filename=/flag.txt&filehash=581a9759facbcc1a83a3b50cc99103dc
/file?filename=/welcome.txt&filehash=eb45ae2f382f05aa91e5f292edc6fcfd
/file?filename=/hints.txt&filehash=dbcd1e15de57d6753b7d62da938b58e6

发现三个文件都保存在filehash(文件名被哈希算法加密32位小写)

有一个师傅的wp解决了我的疑惑:122,【6】buuctf web 护网杯2018 easy_tornado-CSDN博客

注入点是这么来的

step 2:目标------找到cookie_secret

看了其他师傅的wp,说本题题目也提示了tornado,这是python的一个模块注入,联系第二个文件中的render方法

所以我们可以将代码放在双花括号里进行执行,其他大佬的wp中提到

step 3:构造payload

结合上面信息,我们可以构造payload如下

复制代码
/error?msg={
  
  {handler.settings}}

得到了cookie_secret信息

将其与flag所在文件的文件名/fllllllllllllag进行md5加密以后得到

复制代码
224efb29-b925-4b70-b53c-8e9a154688143bf9f6cf685a6dd8defadabfb41a03a1

将整体再进行md5加密得到

复制代码
45288316089fdc7fd3770fde20322384

构造payload如下

复制代码
/file?filename=/fllllllllllllag&filehash=45288316089fdc7fd3770fde20322384

url传参得到flag信息

三、小结

1.tornado模板注入

2.这里的注入点来源是修改了url,只传参file的话,url变化得到/error?msg=Error,修改Error,发现注入点的

相关推荐
福大大架构师每日一题8 分钟前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc
xian_wwq12 分钟前
【学习笔记】OWASP Agentic 应用安全(二)
笔记·学习·安全·owasp
小刘在重生~26 分钟前
Java 常用类|包装类 装箱拆箱、Integer 缓存面试题
java·python·缓存
2601_962099461 小时前
Python xlwt设置excel单元格字体及格式
python·excel·xlwt·样式设置·单元格格式
奇牙coding1231 小时前
GPT-6-Astra API 接入教程:OpenRouter 路由配置 + Python/curl 示例 + 静默降级踩坑
开发语言·python·gpt·ai
2601_962298272 小时前
Python与Selenium结合的Web自动化测试全流程实践教程
自动化测试·python·selenium·web测试·pageobjectmodel
天衍四九-2 小时前
第一章:从 LLM 到 Agent —— DeepSeek Harness 入门
网络·数据库·人工智能·python
529宝宝起名网2 小时前
用 Python 实现名字寓意评分算法:基于 NLP 语义分析的名字内涵深度评估
python·算法·自然语言处理
2601_962298672 小时前
Python:对象缓存优化机制(CPython)
python·性能优化·内存优化·cpython·对象缓存
枫彩3 小时前
A股数据源怎么选?用 Python 验收 AI 复盘的日期与明细
python·ai agent·股票数据·mcp