读书频道 > 网站 > 网页设计 > 黑客大曝光:Web应用程序安全(原书第3版)
1.4.2 浏览器扩展
12-08-19    叶孤城
收藏    我要投稿   
在网络技术和电子商务飞速发展的今天,web应用安全面临着前所未有的挑战。所有安全技术人员有必要掌握当今黑客们的武器和思维过程,保护web应用免遭恶意攻击。本书由美国公认的安全专家和精神领袖打造,对上一版...立即去当当网订购
浏览器扩展是流行浏览器的轻量级附加软件,能在浏览器界面中进行HTTP分析和篡改。它们可能是进行手工HTTP/S篡改的首选方法。浏览器扩展的主要优点包括:
●  与浏览器集成:集成使分析感觉更自然,从应用的实际用户角度出发。集成还使配置更容易;单独的HTTP代理一般要求单独的配置实用程序,这种程序必须切换为开或者关的状态。
●  透明性:扩展简单地运行于浏览器基本功能之上,这使它们能够无缝地处理任何浏览器理解的数据。这对于HTTPS连接特别重要,这种连接通常需要依靠单个实用程序的独立代理。
接下来我们将介绍目前可用的浏览器扩展:Internet Explorer(IE)扩展和FireFox扩展。
Internet Explorer扩展
下面是用于HTTP分析和篡改的IE扩展,是按照我们的偏好排列的,最受推荐的列在最前面。
TamperIE:TamperIE是来自Bayden Systems的一个浏览器助手对象(BHO)。它实际上很简单,仅有篡改GET和POST的两个选项。默认情况下,TamperIE仅篡改POST,当你在浏览中遇到POST时(比如表单提交或者购物车订单),TamperIE自动拦截提交,并且显示图1-3所示的屏幕。在这个屏幕中,HTTP请求的所有特性都可以修改。POST请求的显示模式有:“美化”和“原始”,在这两种模式下都可以编辑。图1-3显示了一次简单的攻击,HTTP cookie中一件商品的价格在提交订购之前被修改。这个示例由Bayden Systems的“沙箱”Web订购应用提供(链接参见本章最后的“参考与延伸阅读”)。
TamperIE可能是手工Web应用入侵中你真正需要的唯一工具。它的GET篡改功能避开了浏览器强加的任何限制,而PUT功能允许你篡改浏览器地址栏中无法访问的HTTP请求体中的数据(是啊,你当然可以将页面保存到本地并且重新提交,但是这太老套了!)。我们喜欢这种很好的基础工具,它不需要许多诱人的附加特色和不相关的功能。
 
  图1-3 TamperIE拦截一个POST请求并且让攻击者将订单价格从1995美元改成5美元。谁说Web 入侵无利可图
IEWatch:IEWatch是简单而且功能完备的HTTP监控客户端,作为一个资源管理器栏集成到IE中。装入后执行HTTP或者HTML分析时,它占据浏览器窗口的下部,但是可以调整位置。IEWatch实时揭示HTTP和HTTPS事务的所有方面。只要双击输出日志中的对象,包括首部、表单、cookie等,所有东西都能很容易进行详尽的分析。例如,双击IEWatch记录的一个cookie将会弹出一个新的窗口,显示其中的每个参数和值。非常有用!这个极好的工具唯一令人失望的是它只能“看”,而不允许篡改。图1-4显示IEWatch正在分析一系列HTTP请求/响应。
IE Headers:Jonas Blunck的IE Headers提供与IEWatch相同的基本功能,但是视觉上的吸引力稍逊。和IEWatch类似,IE Headers也是一个位于浏览器底部的资源管理器工具栏,在你网上冲浪时显示IE发出和接收的HTTP首部。它不允许数据篡改。
 
图1-4 IEWatch在一个流行网站上进行HTTP分析
Firefox扩展
下面是用于HTTP分析和篡改的Firefox扩展,是按照我们的偏好排列的,最受推荐的列在最前面。
LiveHTTPHeaders:Daniel Savard 和Nikolas Coukouma开发的这个Firefox插件将原始的HTTP 和HTTPS转储到浏览器界面中一个单独的边栏中,还可以选择打开一个单独的窗口(从“工具”菜单中启动时)。LiveHTTPHeaders还在Firefox的工具|页面信息功能中添加了一个“Header”(首部)选项卡。这是我们用于HTTP篡改的首选浏览器扩展。
该工具显示每个请求/响应的原始HTTP/S,还允许通过Replay功能进行篡改。简单地选择你希望重放的已记录HTTP/S请求,按下Replay按钮(仅当从工具菜单中启动LiveHTTPHeaders时可用),选中的请求被显示在单独的窗口中,整个请求都可以编辑。攻击者可以编辑请求中的任何部分,然后按下Replay发出新请求。图1-5显示LiveHTTPHeaders正在重放一个POST请求,其中User-Agent(用户代理)首部被改为一个普通的字符串。这种简单的修改有时用来绕过Web应用验证,我们在第5章中将会展示说明。
 
图1-5 Firefox LiveHTTPHeaders允许通过Replay功能篡改HTTP数据
TamperData: 这是Adam Judson编写的一个Firefox扩展,可用于跟踪和修改HTTP和HTTPS请求,包括首部和POST参数。它可以作为边栏或者单独窗口装入,在两个位置都可以切换篡改功能的开关。一旦设置为Tamper(篡改)模式,Firefox在每次请求时会显示一个对话框,提供对请求的“篡改”、“提交”或者“中止”。选择Tamper(篡改),用户会看到图1-6所示的屏幕。HTTP/S请求的所有特性都可以在这个屏幕中操纵。在图1-6的例子中,我们将一个HTTPS POST值改为“admin”,这是另一种常见的绕开Web应用安全的花招,我们在第5章中将会详加讨论。
 

图1-6 使用TamperData修改POST请求,将一个值改为“admin”
虽然提供的基本功能相同,但是我们对LiveHTTPHeaders更喜爱一点,因为它提供更“原始”的编辑界面。当然,这纯粹是个人的偏好;这两种工具在我们的测试中功能上的表现相同。
Modify Headers:另一个用于修改HTTP/S请求的Firefox扩展,由Gareth Hunt创建。Modify Headers对于持续的修改比请求之前的操纵更适用。例如,如果你希望持续修改浏览器的User-Agent串或者过滤cookie,Modify Headers比TamperData更合适,因为不需要辛辛苦苦地应付许多弹出窗口并且修改每个请求。这两个工具可以配合使用:TamperData用于通过请求前试验来确定所要设置的值,然后使用Modify Headers在整个会话中持续发送这些值,从而使攻击自动化。
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站