一、引言
Ajax和交互式的Web Services正撑起Web2.0应用的大梁。技术的革新也给这项应用带来了新的安全挑战。
本文介绍了一些方法、工具和技巧,来研究Web2.0应用中面临的安全问题,介绍使用Firefox和它的插件来发现和定位安全漏洞。本文的内容主要有以下几个方面:
(1)Web2.0应用架构和它面临的安全问题;
(2)Web2.0安全评估面临的挑战,例如,发现隐藏的调用、网络爬虫问题和客户端调用逻辑的发现;
(3)使用调试工具Firebug,发现XHR(XmlHttpRequest)调用;
(4)使用工具Chickenfoot,仿真浏览器事件的自动化执行;
(5)使用调试工具Firebug,设置断点,对Web2.0应用进行单步调试;
(6)漏洞的检测方法。
二、Web2.0应用概述
Web2.0作为下一代Web应用,是诸多已有技术的综合。其中,XML驱动的Web Services运行在SOAP、XML-RPC上,REST(Representational State Transfer)架构则给以资源为中心的Web应用带来了极大的方便。Web2.0利用Ajax技术和丰富的互联网应用组件,例如Flash,给终端用户提供了强大的应用接口。
Web2.0的技术革新对客户端浏览器和服务器之间的Web应用和通信机制产生了重大的影响。与此同时,这项技术革新也给Web应用带来了新的安全挑战。
诸如Yamanner、Samy 和 Spaceflash等新式蠕虫能够破坏客户端Ajax框架,从而给黑客提供新的攻击途径,危及到存储在客户端主机的敏感信息的安全。

图1 Web2.0架构
Web2.0的结构如图1所示,左侧是浏览器端的处理过程,可以分为以下几个层次:
(1)表示层:HTML/CSS提供在浏览器窗口中显示的方案;
(2)逻辑处理层:在浏览器中运行的JavaScript负责业务逻辑和通信逻辑的执行。Ajax驱动组件位于这一层;
(3)传输层:XMLHttpRequest对象提供了客户端浏览器和服务器之间的异步通信和XML数据交换机制,这里的XMLHttpRequest对象使用HTTP或者HTTPs协议。
服务器端组件在图1的右侧,位于服务器端防火墙后面,它包括了配置好的Web Services和传统的Web应用资源。一个Ajax资源运行在客户端浏览器中,可以直接与基于XML的Web Services“对话”,交换数据而不刷新整个页面。这个数据交换过程对于客户端用户来说是透明的,换句话说,用户在这期间感觉不到浏览器页面的刷新。页面刷新和重定向是第一代Web应用的不可缺少的组成部分,但到了Web2.0时代,这些操作被Ajax的异步操作所取代。

posted on 2007-07-19 17:00  间歇博客  阅读(242)  评论(0编辑  收藏  举报