警惕:AJAX应用程序容易遭受到新型攻击

http://www.sina.com.cn 2008年02月29日 08:07  赛迪网

  作者:freedom

【原创文章,版权所有,赛迪独家发布,合作网站如欲转载,请注明出处“赛迪网”和文章作者“freedom”!谢绝非合作网站转载,违者,赛迪网将保留追究其法律责任的权利!】

由于受到Web 2.0利益的推动,AJAX(同步JavaScript技术和XML)正吸引着全球企业的眼球。

AJAX是逐渐普及的一个主要原因是其所使用的脚本语言,即JavaScript,它可带来许多利益:动态表单可包含内置的错误检查,页面计算区域,动态更改背景、文本颜色或按钮、读取URL历史并针对其采取行动,并可根据用户的请求提供不同的文档或部分等等。

不过,AJAX并不是一项技术,它是多种技术的集合,每一个技术在设计和开发和设计Web应用程序时都提供了强健的基础。

AJAX意在增强交互性、速度和可用性。这些技术为用户提供了更加丰富和友好的体验,因为Web应用程序的设计目的是为了模仿传统的桌面应用程序,包括Google Docs、Google Maps、Yahoo! Mail等。

在一个Web会话的开始,并非装载所请求的Web页面,而是加载一个用JavaScript编写的AJAX引擎。这个引擎充当了一个“中间人”的作用,它驻于用户和Web服务器之间,既作为一个翻译界面,又作为客户端浏览器和服务器之间的一种通信方式。

这种功能带来的不同之处是显而易见的。在向一个Web服务器发送一个请求时,我们会注意到网页的各个独立部件是分别更新的(异步),这样就不需要等待整个网页加载(同步)成为活动状态。

当然,AJAX编码的应用程序包括的好处还有很多,如插入和删除记录,编辑范畴树等,通过这些益处,就可以更有效地执行而不需要每次都请求全部的HTML页面。但我们还要看到:

AJAX的漏洞和弱点

虽然包含着极强大的技术集合,开发人员必须清楚潜在的安全漏洞和由此对AJAX应用程序所造成的损害。

Web应用程序是当今一个组织的IT架构中最薄弱的因素之一。越来越多的组织(赢利性的或非赢利性的)依靠基于互联网的AJAX应用程序。随着这种技术集合越来越复杂,如果一个组织并没有采取措施保护其Web应用程序的安全,那么其安全风险就会大大增加。

一个Web应用程序内部增加交互性意味着XML、文本和一般的HTML网络通信的增加。这会导致暴露后端的应用程序的可能,这些应用程序以前可能并不易受到攻击;或者如果没有足够的服务器端的保护,这就会给未授权的用户操纵其特权配置的可能性。

有一种常见的误解认为, AJAX应用程序更安全,因为有人认为一个用户在没有基于AJAX web网页的情况下是不能访问服务器端的脚本的。基于XML HTTP 请求的Web应用程序使服务器端的脚本模糊不清,这种模糊性给Web站点的开发人员和所有者一种安全感的假象。模糊性并非安全性。因为XML HTTP请求通过将同样的协议用作Web上的所有其它对象而发挥作用,从技术上讲,基于AJAX的Web应用程序与“正常”的应用程序一样也易于受到同样的黑客技术的攻击。

另外,在会话管理方面的漏洞也有所增加,并且可以获取对许多隐藏性URL访问权的黑客所造成的风险更大,而这些URL对于AJAX请求来说是必须要处理的。

AJAX的另外一个弱点是表达服务器请求的过程。AJAX引擎用JavaScript来获取用户命令并将其转化为功能调用。这种功能调用是以纯文本形式发送到服务器端的,有可能轻易地泄漏数据库表的字段,如合法产品和用户ID等,甚至是重要的变量名、合法的数据类型或范围,以及任何其它有可能被黑客所操纵的一些参数。

通过这种信息,一个黑客就可以轻易地通过欺骗手段将特定的HTTP请求直接发送到服务器从而使用AJAX函数。在跨站脚本攻击中,恶意注入的脚本实际上可以利用AJAX所提供的功能来按照其利益工作,从而用其最终目的(重新定向浏览器即所谓的网络钓鱼,或监视其通信)来欺诈用户。

上一页 1 2 下一页
本文导航:
·AJAX的漏洞和弱点
·JavaScript漏洞

发表评论 _COUNT_条
Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash