网络安全专业术语
SSTIvsXSS
网络安全领域术语对比 — 快速理解两者的核心差异
概览对比
SSTI
SSTI 通过向服务端模板引擎(Jinja2、Twig 等)注入恶意表达式,可能实现远程代码执行。当用户输入被直接拼接到模板中时就会产生此漏洞。
XSS
XSS 让攻击者在受害者的浏览器中执行恶意 JavaScript,可以窃取 Cookie、劫持会话、篡改页面内容。OWASP Top 10 常客,至今仍是最常见的 Web 漏洞之一。
核心要点
SSTI
- 利用模板引擎执行恶意代码
- Jinja2、Twig、Freemarker 是常见目标
- 可从信息泄露升级到 RCE
XSS
- 分为反射型、存储型和 DOM 型三种
- CSP 和输出编码是主要防御手段
- 即使在 2025 年仍是 Bug Bounty 最常见的漏洞类型
正式定义
SSTI
利用服务端模板引擎注入恶意表达式的代码注入攻击
XSS
通过在 Web 应用中注入恶意客户端脚本来攻击其他用户的安全漏洞
应用场景
SSTI
- Web 应用的模板注入检测
- 渗透测试中的 RCE 利用链
- 模板引擎的安全配置审计
XSS
- Web 应用安全评估
- Bug Bounty 漏洞挖掘
- 安全开发培训
详细解读
SSTI
SSTI 的检测方法是注入数学表达式(如 {{7*7}}),如果返回 49 则存在漏洞。不同模板引擎的利用方式不同,Jinja2 可通过 __class__.__mro__ 链访问 os 模块执行命令。防御方式:使用沙箱模式、避免将用户输入直接拼接到模板、使用逻辑无关的模板引擎。
XSS
XSS 攻击通过在 Web 应用中注入恶意脚本代码,当其他用户访问受影响页面时脚本在其浏览器中执行。存储型 XSS 最危险(恶意代码持久化在服务器),反射型最常见(通过 URL 参数注入),DOM 型最隐蔽(纯客户端触发)。防御需要多层策略:输入验证、输出编码、CSP 头、HttpOnly Cookie。现代前端框架(React、Vue)默认转义输出,大幅降低了 XSS 风险,但自定义渲染和 dangerouslySetInnerHTML 仍是常见突破口。
快速对比
| 维度 | SSTI | XSS |
|---|---|---|
| 类型 | 专业术语 | 专业术语 |
| 标签 | 攻击/渗透、应用安全 | 攻击/渗透、应用安全 |
| 热度 | 60 | 85 |