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/ ...
随机推荐
- window 下 jmeter+ant 自动生成html报告并发送邮件
一.安装ant 1.ant 下载地址:https://ant.apache.org/bindownload.cgi 2.下载完成解压到指定目录下 3.配置ant 环境变量 新建系统变量 -ANT_HO ...
- 域名和服务器绑定及https协议更换
服务器是之前已经购买了的 1.腾讯云产品中搜索域名注册(产品太多了懒得找,直接搜索来得快些) 2.进去之后可以选择各种后缀的域名,输入自己喜欢的,看看哪些后缀是没有被注册的.自己挑选一个就可以,按照指 ...
- Copy ArrayList的四种方式
目录 简介 使用构造函数 使用addAll方法 使用Collections.copy 使用stream 总结 Copy ArrayList的四种方式 简介 ArrayList是我们经常会用到的集合类, ...
- Django中search fields报错:related Field has invalid lookup: icontains
models.py 文件 # coding:utf8from django.db import models class Book(models.Model): name = model ...
- 自定义Bootstrap样式弹出框
最近做的一些功能需要用到Bootstrap,然而原来的系统并没有引入Bootstrap,为了新写的控件能够应用于老的页面,又不需要在老的页面上引入全套的Bootstrap文件决定写一个模仿Bootst ...
- IT成长中的龟兔赛跑
IT成长中的龟兔赛跑 相信"龟兔赛跑"的故事大家都听过吧,那就让咱给各位看官讲讲我看到的一些事情吧. 最近看到很多文章总是叹息网管如何,起得比鸡早,睡得比狗晚,吃得比猪差 ...
- Nodejs与Mysql交互实现(异步写法,同步写法)
https://blog.csdn.net/think_A_lot/article/details/93498737
- 学数据库你竟然不用用JAVA写代码,可惜你遇到了我! JAVA连接数据库(JDBC)的安装使用教程
Step 1 你得有Eclipse 没有出门右拐,我教不了你. Step 2 你得有Mysql MySQL的详细安装过程,我在另一篇博客中给出.戳我 Step 3 安装JDBC 可以去官网下,如果用的 ...
- 理解卷积神经网络中的channel
在一般的深度学习框架的 conv2d 中,如 tensorflow.mxnet,channel 都是必填的一个参数 在 tensorflow 中,对于输入样本中 channels 的含义,一般是RGB ...
- 一个poll的简单例子
该程序使用poll事件机制实现了一个简单的消息回显的功能,其服务器端和客户端的代码如下所示: 服务器端: //start from the very beginning,and to create g ...