一篇以python Flask 模版渲染为例子的SSTI注入教学~ 0x01 Flask使用和渲染 这里简化了flask使用和渲染的教程 只把在安全中我们需要关注的部分写出来 来一段最简单的FLASK运行代码: 很简单的flask使用 将url的qing和方法绑定  返回"qing - Flask test"字符串 说一下模版渲染Jinja2中变量 控制结构 {% %} 变量取值 {{ }} 注释 {# #} jinja2模板中使用 {{ }} 语法表示一个变量,它是一种特殊的占位符.…
前言 最近遇到了很多python沙盒逃逸的题目(不知道是不是因为现在python搭的站多了--),实际使用时发现只会复制别人的payload是不够用的,于是自己来总结一波(顺带一提python沙盒逃逸的英文似乎是pyjail--) 姿势 os import os os.system('dir') os.popen('dir').read() platform import platform platform.popen('dir').read() platform.os.system('dir'…
在python沙盒逃逸中绕过道理是一样的. 1.python沙盒中删除了很多模块,但是没有删除reload reload(__builtins__),重新加载被删除的模块,直接命令执行,只用于py2 2.直接过滤了敏感字符,如eval,os等. {{().__class__.__bases__[0].__subclasses__()[59].__init__.__globals__.__builtins__['eval']("__import__('os').popen('ls').read()…
作者:蒸米 ----------------- 0x00 序 Ian Beer@google发布了CVE-2017-7047Triple_Fetch的exp和writeup[1],chenliang@keenlab也发表了关于Triple_Fetch的分析[2],但由于这个漏洞和exp有非常多的亮点,所以还剩很多可以深入挖掘的细节.因此,我们简单分析一下漏洞形成的原因,并具体介绍一下漏洞利用的细节,以及如何利用这个漏洞做到iOS 10.3.2上的沙盒逃逸. 0x01 CVE-2017-7047…
seccomp沙盒逃逸基础--沙盒的规则编写 引入: 安全计算模式 seccomp(Secure Computing Mode)是自 Linux 2.6.10 之后引入到 kernel 的特性.一切都在内核中完成,不需要额外的上下文切换,所以不会造成性能问题.目前 在 Docker 和 Chrome 中广泛使用.使用 seccomp,可以定义系统调用白名单和黑名单,可以 定义出现非法系统调用时候的动作,比如结束进程或者使进程调用失败. seccomp机制用于限制应用程序可以使用的系统调用,增加系…
SSTI(Server-Side Template Injection) 服务端模板注入 ,就是服务器模板中拼接了恶意用户输入导致各种漏洞.通过模板,Web应用可以把输入转换成特定的HTML文件或者email格式 输出无过滤就注定会存在xss,当然还有更多深层次的漏洞. 前置知识 1.运行一个一个最小的 Flask 应用 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return…
Word模板注入攻击 0x00 工具准备 phishery:https://github.com/ryhanson/phishery/releases office版本:office 2010 0x01 什么是Word模板注入攻击 Word模板注入攻击就是利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器发送恶意请求的方式,来盗取他的各类账号密码 0x02 通过远程模板注入盗取目标的各类普通账号密码 1.创…
Java安全之Velocity模版注入 Apache Velocity Apache Velocity是一个基于Java的模板引擎,它提供了一个模板语言去引用由Java代码定义的对象.它允许web 页面设计者引用JAVA代码预定义的方法 Pom.xml <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version&…
初探 Python Flask+Jinja2 SSTI 文章首发安全客:https://www.anquanke.com/post/id/226900 SSTI简介 SSTI主要是因为某些语言的框架中使用了渲染函数,比如Python中的Flask框架用jinjia2模块内的渲染函数,在不规范的代码中,导致用户可以控制变量并构造恶意的表达式,比如{{98-2}},恶意的表达式未经严格的过滤直接带入模板中渲染执行使得攻击者可以读取文件,远程代码执行等等.现在最多的还是在CTF中遇到该漏洞,最多的也是…
目录 part1:用python连接mysql 1.用python连接mysql的基本语法 2.用python 创建&删除表 3.用python操作事务处理 part2:sql注入攻击 1.sql注入的现象 2.防止sql注入:使用预处理 part3:python操作mysql增删改查 part4:导出导入数据库 part1:用python连接mysql 1.用python连接mysql的基本语法 创建连接conn→创建游标对象cursor→执行sql语句execute→获取数据fetchone…