配置Web搜索
暴露可以爬行Web站点来发现它们的目录结构、默认目录、服务器上的文件和应用程序、损坏的链接、不可访问的链接和其他信息。
应用程序然后分析这些数据,以寻找安全缺陷的证据,如SQL注入、跨站脚本(CSS/XSS)、备份脚本文件、可读的CGI脚本、不安全的密码使用,以及其他由软件缺陷或配置错误导致的问题。
一些内置扫描模板默认使用Web spider:
- 网络审计
- HIPAA合规
- 互联网DMZ审计
- 支付卡行业(PCI)审计
- 全面审计
您可以在这些模板中调整设置。还可以在自定义模板中配置Web爬行设置。爬行器检查每个Web页面中的链接,以确定哪些页面已经被扫描。在许多Web站点中,尚未被扫描的页面将在地址栏中显示一个基础URL,后面跟着一个参数定向链接。
例如,在地址中www.exampleinc.com/index.html ? id = 6, ?id=6参数可能是指应该传递给浏览器的内容。如果您允许设置包含查询字符串,爬行器将检查完整的字符串www.exampleinc.com/index.html ? id = 6查询已检索的所有URL页面,以查看该页面是否已被分析。
如果不启用该设置,爬行器将只检查不带?id=6参数的基础URL。
为了访问用于扫描的Web站点,应用程序使自己在Web服务器应用程序中显示为一个流行的Web浏览器。它通过像浏览器一样向服务器发送Web页面请求来实现这一点。请求包含称为头的信息片段。其中一个头文件名为user - agent,它定义了用户浏览器的特征,比如它的版本号及其支持的Web应用程序技术。User-Agent将Web站点的应用程序表示为特定的浏览器,因为一些Web站点将拒绝来自它们不支持的浏览器的HTTP请求。默认的User-Agent字符串表示目标Web站点的应用程序为Internet Explorer 7。
Web爬行的配置步骤和选项
配置一般的Web spider设置:
- 去网络搜索页面的扫描模板配置面板。
- 选中复选框以启用Web爬行。
包含带有Web爬行的查询字符串复选框将导致爬行器向Web服务器发出更多请求。这将增加总体扫描时间,并可能影响合法用户的Web服务器性能。
- 如果需要,请选择适当的复选框,以便在爬行时包含查询字符串。
- 如果希望爬行器在一次扫描期间测试持久性跨站点脚本,请选中该选项的复选框。这个测试有助于降低通过存储在Web服务器上的恶意代码进行危险攻击的风险。启用它可能会增加Web spider的扫描时间。
更改默认用户代理设置可能会更改应用程序从Web站点接收的内容。
- 的默认值浏览器ID(用户代理)字段输入一个新值。如果您不确定要为User-Agent字符串输入什么,请咨询Web站点开发人员。
- 如果需要,请选择选项来检查使用普通用户名和密码。应用程序将这些凭据的使用报告为一个漏洞。这是一种不安全的做法,因为攻击者很容易猜到它们。启用此设置后,应用程序将尝试通过向发现的身份验证表单提交常用用户名和密码来登录Web应用程序。多次登录尝试可能会导致身份验证服务锁定带有这些凭证的帐户。
(可选)启用Web spider来检查弱凭据的使用:
当Web spider在扫描过程中发现登录表单时,它可以确定这些表单是否接受常用的用户名或密码,这将使它们容易受到利用这一实践的自动攻击。为了执行检查,Web爬行器尝试使用常用的凭据通过这些表单登录。任何成功的尝试都被视为弱点。
这种检查可能会导致具有某些安全策略的身份验证服务锁定使用这些常用凭证的帐户。
- 去弱凭证检查区域,并选择标记为检查常用用户名和密码的使用情况.
配置Web spider性能设置:
输入要解析的外部主机的最大数量,或者保持默认值100。此选项设置爬行器可以解析的唯一主机名的最大数目。这个函数为爬行过程增加了大量时间,特别是对于大型Web站点,因为涉及到频繁的交叉链接检查。可接受的主机范围是1到500。
输入时间的数量,以毫秒为单位蜘蛛响应超时字段,以等待来自目标Web服务器的响应。可输入1 ~ 3600000毫秒(1小时)。缺省值为120000毫秒(2分钟)。属性中指定的值将重试请求爬行器请求的最大重试次数字段。
在标记的字段中键入一个数字可爬行的最大目录级别为Web爬行设置目录深度限制。限制目录深度可以节省大量时间,特别是对于大型站点。对于无限目录遍历,请在字段中键入0。缺省值是6。
如果您运行带有时间限制的定期扫描,目标站点的部分内容可能在时间限制结束时仍然不被扫描。后续的扫描不会在Web爬行器停止的地方重新开始,因此可能永远不会完整地扫描目标Web站点。
- 输入一个数字最大蜘蛛时间(分钟)字段设置扫描每个网站的最大分钟数。时间限制可以防止扫描任务占用的时间超过分配的时间窗口,特别是对于大型目标Web站点。如果保持默认值0,则不应用时间限制。可接受范围为1 ~ 500。
- 输入一个数字可爬行的最大页面数字段以限制爬行器请求的页面数量。对于大型站点来说,这是一种节省时间的措施。可接受的范围是1到1,000,000页。
如果同时设置了时间限制和页面限制,则当达到第一个限制时,Web爬行器将停止扫描目标Web站点。
- 中输入失败后重试请求的时间数爬行器请求的最大重试次数字段。输入一个从0到100的值。值为0表示不重试失败的请求。缺省值是2次重试。
配置与正则表达式相关的Web spider设置:
- 为敏感数据字段名称输入正则表达式,或者保留默认字符串。应用程序报告被指定为敏感漏洞的字段名:表单动作在clear中提交敏感数据.任何与正则表达式匹配的都将被视为敏感数据字段名。
- 敏感内容请输入正则表达式。应用程序报告为指定为敏感的漏洞字符串。如果将该字段保留为空,则它不会搜索敏感字符串。
配置与目录路径相关的Web spider设置:
- 选中复选框,指示爬行器遵守中规定的标准robots . txt协议。robots . txt是一种惯例,用于防止爬行器和其他Web机器人访问所有或部分公开可见的Web站点。
任何包含的引导路径的扫描范围取决于您在Web spider配置中设置的时间和页面限制。如果扫描在扫描引导路径之前达到了指定的时间或页面限制,它将不会扫描这些路径。
- 控件中的主Web站点URL中没有链接的应用程序的基本URL路径引导路径字段,以便爬行器包含这些url。例如:/ myapp。多个条目之间用逗号分隔。如果将该字段保留为空,则爬行器在扫描中不包括引导路径。
- 参数中输入要排除的基本URL路径排除路径字段。多个条目之间用逗号分隔。如果指定了排除路径,应用程序将不会尝试爬行这些url,也不会发现与这些url相关的任何漏洞或文件。如果将该字段保留为空,爬行器不会从扫描中排除任何路径。
根据需要配置任何其他扫描模板设置。完成扫描模板配置后,单击保存.
网络搜索的限制
如果您在扫描打印机时遇到异常行为,请在配置过程中取消“不要扫描打印机、多用途设备或打印服务器”选项。
微调Web搜索
Web spider对Web服务器进行爬行,以确定Web站点的完整布局。这是一个彻底的过程,这使得它对保护网站很有价值。大多数Web应用程序漏洞测试都依赖于Web爬行。
exposure使用爬行器数据评估自定义Web应用程序的常见问题,如SQL注入、跨站点脚本(CSS/XSS)、备份脚本文件、可读的CGI脚本、不安全的密码使用,以及自定义软件缺陷或错误配置导致的许多其他问题。
默认情况下,Web爬行器使用三个线程爬行站点,每个请求延迟20毫秒。由此产生的流量取决于被发现的、链接的网站内容的数量。如果您在多处理器系统上运行应用程序,请将每个处理器的爬行器线程数增加到3个。
假设目标资产平均每150毫秒可以服务一个页面,那么对于一个承载500个页面的响应服务器,一个完整的Web爬行器扫描将花费略少于90秒的时间。对承载10,000页的同一服务器进行扫描大约需要28分钟。
当您为Web爬行配置扫描模板时,请输入目录的最大数量或深度,以及每个Web站点要爬行的页面的最大数量。这些值可以限制Web爬行所花费的时间。默认情况下,爬行器忽略跨站点链接,只停留在它正在扫描的端点。
如果您的资产清单不包括Web站点,请确保关闭此功能。这可能非常耗时。