用于扫描 Web 站点的工作流程

今天,Web 站点使用许多不同种类的技术和配置。

开始之前

要成功扫描您的站点,您必须确保:
  • 尽可能全面地扫描站点。
  • 不扫描重复或不相关的内容。
  • 报告结果有用且准确。
要进行满足这些条件的成功扫描,需要采用迭代方式。您还必须深刻了解站点的结构和技术。
  • 第一次扫描时,最好限制起始 URL 的数量,以便扫描可以更快速的进行。
  • 您可以添加无效 URL 作为起始 URL 以扫描除在典型起始 URL 之内或之下找到的页面之外的页面。
  • 了解要扫描 URL 的精确名称会很有帮助。每个 URL 都应该有效,否则作业无法对其进行扫描。作业在扫描过程中遇到无效 URL 时,它会继续移至“现有起始 URL”表中的下一个 URL。但是,无效 URL 可用来扫描未包括在起始 URL 中的目录。

过程

  1. 制作要包含在扫描中的 URL、端口和域的列表,然后把它们添加到将对站点进行扫描的作业中。
  2. 浏览站点,寻找可能干扰扫描的项。部分示例包括:
    • 登录页面
    • 排除,如“添加到”购物车、打印此页面和列标题排序
    • 会话标识和其他参数
    • 定制错误页面
    • 可能需要值的表单
    • Flash 或 JavaScript
  3. 为作业、作业的报告以及仪表板创建一个文件夹,或是将它们放入各自的文件夹中。
  4. 配置扫描并予以运行。
  5. 优化和扩展扫描。测试扫描报告结果应该能够指明需要如何对扫描进行优化。
    1. 扫描过程是否提前结束?如果是,那么可能是注销页面导致了扫描过程停止。
    2. 检查报告中是否存在误报。
    3. 确定是否应该从报告中除去完全相同的页面或完全相同的表单。页面和表单可能具有一些会导致扫描过程将它们看作不同页面和表单的参数(查询字符串或 POST 数据)或 cookie,而事实上它们完全相同。您必须将 URL 和表单规范化,以便从页面和表单中除去参数,如会话标识。扫描过程随后将会把它们看作是完全相同的。通过对全局域进行编辑,在“服务器”和“域”级别执行规范化,或在个别扫描作业级别执行规范化。对特定域中扫描的所有 URL 和表单,可以应用相同的规则。
    4. 如果应用程序的有些 URL 未被发现,请使用“手动探索”功能来手动探索站点,并将 URL 添加到扫描过程。
    5. 参考 Web 站点体系结构报告以确定是否有更多域或目录需要扫描。被识别为外部域的域可以添加到“扫描对象”页面中,以便将它们包含在扫描过程中。如果此页面上列出的域中有任何域尚未扫描,则可能是登录页面导致无法到达它们。
    6. 基于结果重新评估如何配置属性。您可能需要配置额外的属性,或是更改现有属性的设置。
  6. 重复最后两个步骤,直到您确定已正确扫描和分析了整个 Web 站点或应用程序(没有误报等等)。
  7. 重新运行作业及其报告包。如果报告结果与预期不符,请参阅针对性能的最佳做法。如果报告结果符合预期,请开启安全测试并重新运行作业。
  8. 将报告结果分发给您的受众:
    1. 将报告包或仪表板的 URL 用电子邮件发送到报告使用者。这些用户必须获得查看报告包和仪表板的权限。
    2. 将报告导出到 Excel、PDF、XML 或 CSV。