php专区

 首页 > php专区 > PHP安全 > Ajax的安全问题 - 网站安全 - 自学phpAJAX:

Ajax的安全问题 - 网站安全 - 自学phpAJAX:

分享到:
【字体:
导读:
         [导读] 篇文章是关于我们探索基于Ajax的应用程序在评估过程中遇到的主要安全问题。AJAX:Ajax或非同步JavaScript和XML是一个相对较新的和动态的Web技术,其工作在异步方式与服务器进行交互。在...



篇文章是关于我们探索基于Ajax的应用程序在评估过程中遇到的主要安全问题。

AJAX:

Ajax或“非同步JavaScript和XML”是一个相对较新的和动态的Web技术,其工作在异步方式与服务器进行交互。在传统的Web方法使一个新的浏览器刷新整个页面,并重新加载它,这是既耗时又耗费带宽的要求。使用AJAX,子程序可以不完全重新加载页面请求新的服务器数据,从而给用户带来更快的和丰富的体验。它发生在后台用户不知情的情况下,用户看到的是一个流畅的体验。XMLHttpRequest对象是用来与服务器的交互。Ajax请求一个简单的例子就是通过谷歌搜索提示语的人口,而我们开始打字的话。没有发送的全部内容,它不断猜测,更新和加载搜索结果没有击中搜索按钮。

在Ajax请求/响应的数据可以在XML或JSON,认为这是一种重量轻的数据传输比传统形式的基础数据。

数据泄漏在Ajax或JSON劫持:

在继续之前让我们明白一个重要的概念:

1.JavaScript表达式

2.JavaScript数组

JavaScript表达式执行的JavaScript解析器,但数组是:

列如:

这将不被执行,即对象将不会被创建。上面的例子是一个JavaScript表达式。

但现在,当它被转换成一个数组,如下面给出:

这才会被执行。

情景:

用户登录到一个脆弱的应用(victimsite.com)的服务器JSON形式的阵列和数据敏感性质。用户获取认证令牌(身份验证)的应用。

攻击者诱使用户点击一个链接,使用网络钓鱼或发送电子邮件给用户。

用户点击该链接时,页面加载,从攻击者的网站,下面的脚本嵌入:



脚本再次发出请求,victimsite.com和访问主JSON页发送敏感数据到攻击者的网页,其中有两个:现在JSON数据和身份验证令牌。

然而,上述攻击的先决条件是JSON数据必须敏感于自然和浏览器应该接受__defineSetter__方法,它覆盖了现有的DOM或函数时调用属性setter。在以上示例中,只要是被称为“t”内的属性,函数警报,并且显示它。然而,没有多少浏览器支持defineSetter,’方法。

应对措施:

切勿将敏感信息发送JSON或不给他们使用JSON数组,这使得它可以通过脚本标记有效的JavaScript。

只服务身份验证的请求,意味着使用某种形式的身份验证来保护数据

必须发送JSON数据通过POST,GET,这将使它很难在”, “phone”: “911″}]}; someObject.innerHTML(inboundJSON.people[0].address); // Vulnerable document.write(inboundJSON.people[0].address); // Vulnerable someObject.innerText(inboundJSON.people[0].address // Not Vulnerable

 

防御措施:

几乎是相同的,我们会做传统的XSS预防:

输入验证:严格检查什么是允许的,什么不是在用户输入。正确过滤白名单允许的字符

输出验证:这意味着,所有的输出必须正确编码,然后呈现给用户如HTMLEncoding。

结论:

因此,大部分影响Ajax的问题是那些传统的Web应用程序,他们可能同样的方式得到减轻。

本文有小安攻防研究室翻译,如有翻译和编辑错误请联系管理员,谢谢,希望本文对你有所帮助。

作者简介

Ninj@S3c是一个领先的跨国公司的安全分析师。他主要是集中在应用安全,网络安全,无线安全。除此之外,他在逆向工程和取证感兴趣。

原文地址:http://resources.infosecinstitute.com/ajax-security-issues/

分享到:
FSO组件的开启和关闭方法 - Windows操作...
弑神s blog Dll 文件的注册和注销: win2000系统: 在CMD命令行状态输入以下命令: 关闭命令:RegSvr32 /u C:WINNTSYSTEM32scrrun.dll 打开命令:RegSvr32 C:WINNTSYSTEM32scrrun.dll win2003: 运行regsvr32 scrrun.dll即可。 如果想关闭FSO组件,请运行 regsvr32 /u scrrun.dll即可
前瞻:Vista SP2安全性更胜Linux和Mac? ...
据国外媒体报道,微软主管Kevin Turner在本周的一次CIO峰会上称Vista是有史以来最为安全的操作系统。   尽管没有提供任何有效数据,但Turner还是在强调Vista要比其他竞争对手Linux和Mac OS X Leopard要安全得多。   “现在的Vista,尤其是有了SP2之后,无疑是整个操作系统市场中最快最稳定的系统。同时,也是地球上最...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……