Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 1126

服务端模板注入

审核人Cybersecurity entrepreneur & security researcher

服务端模板注入 是什么?

服务端模板注入将模板引擎语法注入到不可信输入中,导致模板渲染时在服务器上执行代码的攻击。


服务端模板注入(SSTI)发生在用户输入被拼接进由 Jinja2、Twig、Freemarker、Velocity 或 ERB 等引擎处理的模板时。许多引擎允许在表达式中访问对象和调用方法,因此 {{7*7}} 或 ${...} 这类载荷可读取环境变量、遍历对象图,最终可执行任意代码或操作系统命令。影响从数据泄露到完全控制服务器不等。防御措施包括将用户数据仅作为模板变量传入(绝不作为模板本身)、使用沙箱化或逻辑较弱的引擎、用白名单限制模板名、对输出进行上下文相关的编码,并以最小权限运行应用程序。

示例

  1. 01

    用 Jinja2 渲染的姓名字段在输入 {{7*7}} 时返回 49,确认存在 SSTI。

  2. 02

    Freemarker 模板注入调用 Runtime.exec 在服务器上启动反向 shell。

常见问题

服务端模板注入 是什么?

将模板引擎语法注入到不可信输入中,导致模板渲染时在服务器上执行代码的攻击。 它属于网络安全的 攻击与威胁 分类。

服务端模板注入 是什么意思?

将模板引擎语法注入到不可信输入中,导致模板渲染时在服务器上执行代码的攻击。

如何防御 服务端模板注入?

针对 服务端模板注入 的防御通常结合技术控制与运营实践,详见上方完整定义。

服务端模板注入 还有哪些其他名称?

常见的别称包括: SSTI, 模板注入。

相关术语

另见