Web浏览器其实并不是一种攻击工具,而是访问Web应用程序的标准方法。然而,在攻击Web应用程序时,渗透测试员选择的Web浏览器会影响攻击效率。此外,还有各种针对不同类型浏览器的扩展可帮助渗透测试员实施攻击。本节将简要介绍3种流行的浏览器以及它们的一些扩展。
Microsoft的Internet Explorer(IE)是当前应用最广泛的Web浏览器。据估计,现在依然如此,IE市场占有率大约为45%。几乎所有的Web应用程序都针对IE设计,并通过IE进行测试,这使得它成为攻击者的首选浏览器,因为大多数应用程序的内容与功能都能够在IE中正确显示和使用。而且,其他浏览器本身并不支持ActiveX控件;因此,如果一个应用程序使用这种控件,就必须使用IE来浏览它。使用IE的局限性在于,与使用其他浏览器不同,它必须在Microsoft Windows平台上运行。
由于IE被人们广泛使用,因此,当测试跨站点脚本与其他针对应用程序用户的攻击时,应该 始终确保攻击能够在这种浏览器上成功实施(请参阅第12章了解相关内容)。
注解
Internet Explorer 8引入了一个默认处于启用状态的反XSS筛选器。如第12章所述,此筛选器会尝试阻止大多数标准的XSS攻击,因此,在针对目标应用程序测试XSS入侵程序时,该筛选器可能会导致问题。通常,在测试过程中应禁用该XSS筛选器。在确认某个XSS漏洞后,最好是重新启用该筛选器,看是否可以利用发现的漏洞找到避开该筛选器的方法。
以下IE扩展有助于攻击Web应用程序。
HttpWatch可分析所有HTTP请求与响应,提供消息头、cookie、URL、请求参数、HTTP状态码与重定向等信息(如图20-1所示)。
图20-1 HttpWatch对Internet Explorer发布的HTTP请求进行分析
IEWatch的功能与HttpWatch类似,同时还可分析HTTP文档、图像、脚本等。
Firefox是当前第二大Web浏览器,据估计,市场占有率大约为35%。绝大多数Web应用程序可在Firefox上正常运行;但是,它本身并不支持ActiveX控件。
不同的浏览器在处理HTML方面存在许多细微的差异,特别是当HTML并不严格符合标准时。通常,如果一个应用程序针对跨站点脚本实施防御,这意味着针对它的攻击并不会对每种浏览器平台有效。Firefox的普及使得这种浏览器成为XSS攻击的主要目标;因此,如果在IE上实施XSS攻击遇到困难,应该尝试在Firefox上测试这些攻击。此外,之前,针对IE无效的许多攻击能够对Firefox实施,主要因为它的某些特有功能,参见第13章了解这方面的内容。
当攻击Web应用程序时,有大量Firefox浏览器扩展可供使用,如下所示。
Http Watch也适用于Firefox。
FoxyProxy能够灵活管理浏览器的代理设置,可实现迅速切换以及为不同的URL设置不同的代理等。
LiveHTTPHeaders可修改请求与响应,并重新发布个别请求。
使用PrefBar可启用或禁用cookie、快速进行访问控制检查、在不同代理服务器之间切换、清除缓存,以及打开浏览器的用户代理。
Wappalyzer可确定当前页面使用的各种技术,并在URL栏为发现的每一种技术显示一个图标。
Web Developer工具栏提供了大量有用功能。其中最重要的功能包括查看页面上的所有链接、更改HTML使表单字段可写、取消最大长度限制、显示隐藏表单字段,以及将请求方法由GET更改为POST。
在浏览器领域,Chrome是一款相对较新的浏览器,但它迅速赢得用户的欢迎,并占领了约15%的市场。
攻击Web应用程序可能会用到各种Chrome浏览器扩展,如下所示。
XSS Rays,该扩展可用于测试XSS漏洞和DOM检测。
cookie编辑器,用于在浏览器中查看和编辑cookie。
Wappalyzer也可以用于Chrome。
Web Developer 工具栏也可以用于Chrome。
Chrome可能包含一些奇怪的功能,在构建针对XSS和其他漏洞的攻击时,这些功能可能会有用。由于Chrome是一款相对较新的浏览器,因此,在未来数年中,研究这些功能可能会取得一定的成果。