跳转到内容

扫描 ​

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

被动扫描器 ​

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

可检测的类别包括:

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

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

运行被动分析 ​

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

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

主动扫描器 ​

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

已实现的检查类别:

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

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

占位检查 ​

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

全部主动扫描 ​

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

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

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

建议工作流:

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

证据质量 ​

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

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

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

专有软件。保留所有权利。