SSTI(模板注入)

SSTI,即服务器端模板注入漏洞(Server-Side Template Injection)

​ 在渲染模板时,代码不严谨并且没有对用户的输入做严格过滤,将导致SSTI漏洞,造成任意文件读取和RCE命令执行;

注入原理: 使用 Twig 模版引擎渲染页面,其中模版含有 变量,其模版变量值来自于 GET 请求参数 $_GET[“name”]。

魔术方法

1
2
3
4
5
6
7
8
9
10
__class__	查找当前对象的当前类
__base__ 查找当前类的父类
__mro__ 查找当前类的所有继承类
__subclasses 查找父类下的所以子类
__init__ 查看类是否重载,出现wrapper表示没有重载
__globals__ 以字典的形式返回当前对象的全部全局变量
__builtins__ 提供对python的所以内置标识符的直接访问
__getitem__ 这个方法返回所给键对应的值。当对象是序列时,键是整数。当对象是映射时(字典),键是任意值。,可代替中括号,绕过中括号过滤
__popen__ 通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程
os os就是“operating system”的缩写,os模块提供的就是各种 Python 程序与操作系统进行交互的接口。通过使用os模块,一方面可以方便地与操作系统进行交互,另一方面页可以极大增强代码的可移植性

SSTI(模板注入)
https://junske51.github.io/kele6.github.io/2024/05/07/SSTI/
Author
John Doe
Posted on
May 7, 2024
Licensed under