【web | CTF】BUUCTF [护网杯 2018] easy_tornado

天命:这题是框架性的漏洞,Python的web服务器框架,应该已经比较古老了

开局先看一下三个文件

简单阅读后会发现,这里存在文件包含漏洞,可以直接读取文件,但是有一个哈希值校验

一开始我以为是扫描文件后得到的MD5值

哈哈哈,我想太多了,没这么高科技,只是文件名的MD5值罢了

那文件名我们得到了:/fllllllllllllag,参数加上MD5值就可以了

在hints.txt给出了MD5值的生成代码

但是有一个问题,cookie_secret 这个变量算是密钥了,里面的东西怎么来呢?

这时候我也要看WP才知道,原来是服务器框架的漏洞

来看看题目,再问问文心一言,巴拉巴拉一大堆,就是说Tornado框架中模板语法和一个配置参数,我们能通过模板语法把配置文件的参数打印出来,就能得到cookie_secret了

接着继续,只要你输错哈希值

你就能来到一个神奇的地方,这里就是存在模板语法漏洞的地方

套上模板语法就可以玩了,具体啥原理我也不太知道,这种老框架估计做完这题就不需要用了

输出的东西有点奇怪,但是能直接打印变量出来?

直接当成vue框架来玩,当成变量打印出来:msg={{handler.settings}}

得到钥匙拼接两层MD5即可

python 复制代码
from hashlib import md5

cookie_secret = '749b78e8-8946-40c3-a357-8927600a223f'
filename = '/fllllllllllllag'

MD5文件名 = md5(filename.encode()).hexdigest()

一半文件名 = cookie_secret + MD5文件名
payload = md5(一半文件名.encode()).hexdigest()

print(payload)

搞掂

相关推荐
zhangbin_2376 分钟前
【Python机器学习】NLP信息提取——正则模式
开发语言·人工智能·python·深度学习·机器学习·自然语言处理
小李飞刀李寻欢10 分钟前
mongoDB 读取数据python版本实现
数据库·python·mongodb·数据
大脸猫吖18 分钟前
Selenium4.0实现自动搜索功能
python·selenium·自动化
你可以自己看22 分钟前
python中数据处理库,机器学习库以及自动化与爬虫
python·机器学习·自动化
kolaseen41 分钟前
pytorch的动态计算图机制
人工智能·pytorch·python·深度学习·机器学习
约束1121 小时前
ipynb脚本是运行在本地还是云端?
python·jupyter
QXH2000001 小时前
数据预处理方法—数据标准化和数据归一化
人工智能·python·深度学习·机器学习
一丝晨光1 小时前
语言的循环语句
java·c++·python·c#·c·fortran·algol
NuyoahC2 小时前
Python语法(二)——函数
开发语言·笔记·python
weixin_750335522 小时前
Datawhale X 南瓜书 task02学习笔记
笔记·python·学习