[护网杯 2018]easy_tornado
打开看到三个链接,点进去得到
/flag.txt
flag in /fllllllllllllag
/welcome.txt
render
/hints.txt
md5(cookie_secret+md5(filename))
观察url:/file?filename=/hints.txt&filehash=97970eaa14bde18232faca654f4c19e8
前面是文件地址后面是对应加密,接下来要拿到cookie_secret
搜索render没找到线索,根据题目搜索tornado得知这是一个web框架
然后搜索tornado render找到一篇关于python SSTI tornado render模板注入的博客
博客地址
https://blog.csdn.net/qq_45951598/article/details/111312370
得到线索在tornado模板中,存在一些可以访问的快速对象,例如
{{ escape(hander.settings[“cookie”]) }}这个handler.settings对象
handler 指向RequestHandler
而RequestHandler.settings又指向self.application.settings
所有handler.settings就指向RequestHandler.application.settings了!
大概就是说,这里面就是我们一下环境变量,我们正是从这里获取的cookie_secret
然后找注入点,先尝试filename,发现报错
file?filename={{1*8}}

然后尝试msg参数,发现被拦截

说明这里的确有注入

然后让ai写个脚本
import hashlib
cookie_secret = '7d317c0d-3c76-40bb-9488-99773ff71739'
filename1 = '/fllllllllllllag'
# 计算 filename1 的 MD5
md5_filename1 = hashlib.md5(filename1.encode()).hexdigest()
# 计算 cookie_secret + md5(filename1) 的 MD5
combined = cookie_secret + md5_filename1
final_md5 = hashlib.md5(combined.encode(encoding="UTF-8")).hexdigest()
print(final_md5)
拼接拿到flag

[护网杯 2018]easy_tornado的更多相关文章
- buu[护网杯 2018]easy_tornado
[护网杯 2018]easy_tornado 1.看看题目给了我们三个文件: /flag.txt url=?filename=/flag.txt&filehash=98c6aac4fbecf1 ...
- [护网杯 2018]easy_tornado 1
复现一道关于tornado的题目 首先可以得知此题用的是tornado,基于python的后端框架,多半是ssti注入 有三个文件,首先可得知flag在何处 然后观察hint和url就知道要根据coo ...
- [原题复现]2018护网杯(WEB)easy_tornado(模板注入)
简介 原题复现: 考察知识点:模板注入 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 [护网杯 2018]eas ...
- [护网杯2018] easy_laravel
前言 题目环境 buuoj 上的复现,和原版的题目不是完全一样.原题使用的是 nginx + mysql 而 buuoj 上的是 apache + sqlite composer 这是在 PHP5.3 ...
- [护网杯 2018]easy_tornado-1|SSTI注入
1.打开之后给出了三个连接,分别查看下三个连接内得信息,结果如下: 2.url中参数包含一个文件名与一串应该是md5得加密的字符串,文件名已经获得了,就需要获取加密得字符串,但是加密字符串时需要使用到 ...
- 护网杯圆满结束,还不满足?不如来看看大佬的WP扩展思路~
护网杯预选赛 WP转载自:https://qingchenldl.github.io/2018/10/13/%E6%8A%A4%E7%BD%91%E6%9D%AFWP-BitPwn/#more WEB ...
- 强网杯2018 - nextrsa - Writeup
强网杯2018 - nextrsa - Writeup 原文地址:M4x@10.0.0.55 所有代码均已上传至我的github 俄罗斯套娃一样的rsa题目,基本把我见过的rsa套路出了一遍,值得记录 ...
- 2019护网杯baby_forensic
题目名称:baby_forensic题目描述:can you catch the flag?附件:“data.7z” 2019护网杯初赛的一道取证题,比赛时没做出来,赛后又研究了一下. 获取profi ...
- 2018护网杯easy_tornado(SSTI tornado render模板注入)
考点:SSTI注入 原理: tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且 ...
- 2018护网杯-easy_laravel 复现
题目docker环境: https://github.com/sco4x0/huwangbei2018_easy_laravel git clone下来直接composer up -d 运行即可,可以 ...
随机推荐
- SQLPrompt关闭联网
关闭Redgate.client的联网 方法一:修改hosts文件 C:\Windows\System32\drivers\etc\hosts 127.0.0.1 licensing.red-gate ...
- FFmpeg开发笔记(七十四)Windows给FFmpeg集成二维码图像的编解码器
<FFmpeg开发实战:从零基础到短视频上线>一书的"7.1.1 添加图片标志"介绍了如何给视频添加图片标志,比如给视频画面添加一张二维码图像.不过前提条件是存在二 ...
- 前端开发系列061-网络篇之HTML页面渲染的基本过程
本文描述了HTML页面渲染的基本(一般)过程,需要说明的是该文并不包含关于HTML解释器.CSS解释器.JavaScript引擎等相关部分内部的具体处理细节.该文旨在简单介绍网页从加载到被我们看到过程 ...
- 【备】C#四舍五入常识备份
/// <summary> /// 真正的四舍五入 /// </summary> /// <param name=&quo ...
- mt19937 简单介绍
简介 mt19937 是一种伪随机数生成器.其随机数质量,随机数范围与常数都比同为随机数生成器的 rand 优秀得多. 定义 mt19937 myrand(time(0)); 上述的代码定义了一个以时 ...
- LangChain框架入门02:环境搭建
在上一篇文章中,我们系统地了解了 LangChain 是什么.能做什么.核心模块有哪些,现在你可能有以下疑问: 项目环境该怎么搭建? 各个包之间有什么依赖关系? 第一个 LangChain 应用应该从 ...
- 文件服务(SMB)共享详解
三种共享类型: 微软的CIFS文件共享协议,可以让windows机器在网上邻居之间共享文件,也即是windows-windows之间的文件共享: NFS文件共享协议,可以让远程共享的共享目录挂载在本地 ...
- Modbus TCP 协议电表与能源数据可视化应用详解
一.Modbus TCP 协议电表核心技术解析 以西门子 PAC3200 型电表为例,其作为工业级能源计量设备的典型代表,依托 Modbus TCP 协议实现数据交互,核心技术特性如下: 1. Mod ...
- 求职必备!常用拖Offer话术总结
"拖 Offer"既不是职场厚黑学,也不是道德瑕疵,而是劳动力市场里最理性的博弈动作,是用时间换筹码的基本操作. 因为这样你才能跑完其他更多面试.拿到更多 Offer.拥有更多选择 ...
- Java面向对象——8.静态字段和静态方法
目录 Java静态字段与静态方法 静态字段 静态方法 接口中的静态字段 实践示例:使用静态字段统计实例数量 总结 Java静态字段与静态方法 在Java面向对象编程中,静态成员(包括静态字段和静态方法 ...