---
url: https://docs.ogmabox.com/zh/guide/scanning.md
description: 使用 Ogma 被动和主动扫描器，了解检测规则，审查证据并减少误报。
---

# 扫描 {#scanning}

Ogma 包含被动和主动扫描器。被动扫描分析捕获的流量。主动扫描发送修改后的请求，并根据响应行为、耗时、反射和基线比较验证安全发现。

## 被动扫描器 {#passive-scanner}

被动扫描器评估已捕获的 HTTP 条目，不发送新流量。

可检测的类别包括：

* SQL、NoSQL、LDAP、模板、反序列化和 XML 错误信息泄露。
* 缺失或薄弱的安全标头。
* Cookie 标记问题。
* CORS 配置错误。
* 暴露的机密信息、私钥、服务账户数据、webhook 和令牌。
* 暴露的源代码管理资料、配置、API 文档或敏感文件。
* JWT 问题，例如 `none` 算法、过长的有效期和 HMAC 使用。
* 响应缓慢和危险的 HTTP 方法。

被动安全发现有助于分级处理，但仍需审查。标头和策略类问题通常取决于应用上下文。

### 运行被动分析 {#running-passive-analysis}

1. 捕获流量。
2. 打开**实用工具 > 扫描器**。
3. 选择**被动扫描器**。
4. 点击**扫描所有历史记录**。
5. 在**安全发现**中查看创建的结果。

在**设置 > 扫描器**中配置自定义被动规则。

## 主动扫描器 {#active-scanner}

主动扫描器向请求中的候选位置注入载荷，并验证目标响应。

已实现的检查类别：

| 检查项 | 确认方式 |
| --- | --- |
| SQL 注入 | 查找 SQL 错误，或在使用时间型载荷时确认可重复的延迟超过测得的基线。 |
| 反射型 XSS | 要求载荷在 HTML 响应中反射，且未进行预期编码。 |
| 路径遍历 / LFI | 要求出现基线响应中不存在的文件内容指标。 |
| 操作系统命令注入 | 要求出现命令输出，或在使用时间型载荷时出现超过测得基线的可重复延迟。 |
| SSTI | 使用结果确定的模板数学载荷，并要求响应中出现计算结果。 |
| SSRF | 要求注入 URL 载荷后出现元数据或服务横幅证据。 |
| 开放重定向 | 要求重定向响应指向注入的外部域名。 |

扫描器明确不会将普通的 `200 OK` 响应视为漏洞证明。

### 占位检查 {#stubbed-checks}

主动检查列表可能包含标记为占位的检查。它们用于清楚展示路线图，但不会创建安全发现。在当前后端中，没有带外验证或应用专用验证时，XXE 和不安全上传不会被自动确认。

## 全部主动扫描 {#active-scan-all}

**全部主动扫描**通过向以下位置注入载荷来测试近期捕获的请求：

* 查询参数。
* 表单正文参数。
* JSON 值。
* 路径段。
* 启用后选定的标头。

主动扫描前使用测试范围，使流量和结果保持聚焦。

建议工作流：

1. 定义并激活测试范围。
2. 捕获有代表性的目标流量。
3. 从被动分析开始。
4. 先对选定请求运行主动扫描，再使用**全部主动扫描**。
5. 在安全发现中审查验证请求和响应证据。
6. 移除误报，不要直接报告原始扫描器输出。

## 证据质量 {#evidence-quality}

高质量的扫描器安全发现应回答：

* 测试了哪个参数或输入？
* 使用了哪个载荷？
* 响应发生了什么变化？
* 基线响应中是否没有该行为？
* 问题是否可重复？
* 在 Ogma 中是否有关联证据？

证据不确定时，降低可信度，或先将结果保留为笔记，直到确认。
