星空外围足球网(

如何保证AJAX程序安全应用

转帖|其它|编辑:郝浩|2008-07-24 13:45:27.000|阅读 1899 次

概述:如何保证AJAX程序安全应用

#慧都22周年庆大促·界面/图表报表/文档/IDE/IOT/测试等千款热门软控件火热促销中>>

  AJAX使黑客的梦想成为了现实。它提供了更多的“攻击接口”、直接的应用程序编程接口访问、容易实施逆向工程、扩大的网络攻击的可能性以及离线攻击安全漏洞。Hoffman说,微软在向黑客敞开大门方面是最糟糕的,因为几乎与SQL语句有关的一切事情都是可以注入SQL的,从而允许黑客直接访问数据库服务器。他说,许多专家的忠告都是非常错误的。

  Hoffman演示了他所说的一个样本AJAX通过Hacker Vacations.com(黑客休假)网站的方式。这个站点能够让你查找航班和订购座位。他利用流行图书、入门文章和论坛上的“专家”忠告制作了这个演示。专门制作的这个东西都很好。

  Hoffman演示了网站是如何充满安全漏洞的。他使用Firebug调试工具考察了基本代码。这个工具让黑客工作非常容易。这个免费的工具能够让你编辑、调试和监视任何网页上的CSS、HTML和JavaScript live。

  他使用“Inspect for FindFlights”说明你不能相信你向客户端软件输入的任何事情。这个客户端软件甚至能够隐藏你的代码不让业余黑客看到。他点击“CTL-U”查看隐藏的资源,然后向代码注入一个断点。然后,他使用火狐浏览器挖掘出一个巨大的数据集表,然后得到返回的“可用航班”的实际显示信息。

  他解释说,我刚刚看到了比这个应用程序提供的更多的航班。然后,他能够操纵AJAX电话占有特殊的座位。从安全的观点看,API是粗粒度的,在客户端暴露的东西太多了。程序员把一切都放到了一个文件中,然后从公共网站的部分查阅这个文件。他展示了一个现实世界的例子,让他使用SQL指令获得有价值的口令。他还演示了一个暴露的管理API结构如何能够让他仅能够访问GetPublicData函数的时候访问服务器的SetPrivateData函数。

  Hoffman说,1997年发生了一次针对CD Universe公司的实施的客户端价格攻击。在这次攻击中,黑客在三个月的时间里能够以1美分的价格购买CD光盘,直到这个诈骗活动被发现。Hoffman在他的演示中也对座位的价格进行的同样的事情。他指出,在他们使用Web 2.0的同时,我可以使用各种变量值。

  在Web 1.0中,服务器描绘了这种功能。但是,这个功能现在被推向了边缘。它向攻击者提供了一个如何使用你的应用程序的蓝图。

  Hoffman的研究领域包括取样、JavaScript静态分析(自动分析源代码)和跨站脚本(XSS)。跨站脚本就是恶意网络用户向其他用户观看的网页注入代码。然而,他指出,破解AJAX程序不需要XSS。那是一件很容易的事情。

  Hoffman在讲话中演示了针对AJAX应用程序实施的攻击。这些攻击包括操纵客户端逻辑程序、击败逻辑程序保护技术、劫持功能(改变客户端代码)、劫持JSON(JavaScript对象符号)和拒绝服务攻击等。他讨论了GWT应用程序对这些攻击的敏感性,对照Prototype和 Dojo等其它AJAX框架比较了GWT的安全功能。最后,他谈了有关破解Google Gears的问题。Google Gears是一种开源软件扩展程序,能够让开发人员创建可以离线运行的网络应用程序。

  Hoffman把它称作“API Domino Effect”(应用程序编程接口多米诺骨牌效应)。他使用Firebug寻找这种回叫信号功能,看服务器发回了什么。采用这种方法,他首先访问了航班ID网页、然后访问了价格和航班ID网页,接下来他订购了航班的座位并且支付了费用。

  迷惑和懒装载不能保护代码

  Hoffman接下来演示了黑客如何通过迷惑手段击败逻辑保护程序。迷惑手段包括加密代码、懒装载和把对象初始化推迟到需要的时候。Hoffman还演示了如何使用他编写的一个JS分析程序轻松破解一些迷惑手段。他承认,Firebug工具不能破解动态代码,包括JSON反应、远程脚本和懒装载。这是“查看来源”与“查看生成的来源”的因果关系问题。你需要一种监视JavaScript环境的方法。

  Hoffman说,实际上,任何事情都是一个对象,包括主类型和功能。所有的全球变量和功能都是一个全局对象的属性。网络浏览器提供了一个访问这些对象的窗口。Hoffman的“HOOK JavaScript监视框架”能够让他列举这个环境,捕捉随需应变的代码。它还能够通过阅读环境本身的数据避开迷惑手段。

  他还攻击了他所说的同源政策的神话。这个神话称“相同来源的限制”阻止JavaScript看到第三方内容。事实上,它只能部分地这样做。
[SPAN]
   Hoffman接下来讨论了劫持JSON的问题,演示了黑客如何使用远程脚本阅读JSON网络服务。他说,要防止这种攻击,XMLHttpRequest在删除这个脚本,这个SCRIPT SRC就失败了。

  Hoffman说,总的来说,如果你要保证AJAX应用程序的安全,你必须要做六件事情:

  1.对Web网页和Web服务都要进行身份识别/授权检查。

  2.根据功能编组代码库。

  3.验证你的应用程序输入的全部内容,包括HTTP头文件、cookies、查询字符串和POST数据。

  4.验证数据类型、长度和格式。

  5.总使用有参数的查询。

  6.总时适当地加密输出数据。

  最后,Hoffman提出AJAX开发人员应该长期地和认真地考虑这个问题。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dmsbdw.cn

文章转载自:IT专家网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP
188BET体育网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 永利网上滚球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 博鱼信誉足球大全(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 盛凯国际网上盘口(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 半岛真人十大入口(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 腾曜集团最大足球网址(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 网络知名boyu·博鱼盘口(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 朗驰娱乐网上(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新)