AJAX 安全

AJAX 安全


异步 Javascript 和 XML (AJAX) 是用于开发 Web 应用程序以提供丰富用户体验的最新技术之一。由于它是一项新技术,因此还有许多安全问题尚未完成,以下是 AJAX 中为数不多的安​​全问题。

  • 攻击面更多,因为有更多的输入需要保护。

  • 它还公开了应用程序的内部功能。

  • 未能保护身份验证信息和会话。

  • 客户端和服务器端之间的界限非常狭窄,因此存在犯安全错误的可能性。

例子

这是 AJAX 安全的示例 –

2006 年,一种蠕虫利用 Yahoo Mail 的 onload 事件处理中的漏洞,使用 XSS 和 AJAX 感染了雅虎邮件服务。当打开受感染的电子邮件时,该蠕虫会执行其 JavaScript,向受感染用户的所有雅虎联系人发送一份副本。

动手

第 1 步– 我们需要尝试使用 XML 注入为您允许的奖励集添加更多奖励。下面是场景截图。

xml_injection

第 2 步– 确保我们使用 Burp Suite 拦截请求和响应。设置与下图相同。

打嗝设置

步骤 3 – 输入场景中给出的帐号。我们将能够获得我们有资格获得的所有奖励的列表。我们有资格获得 5 个奖励中的 3 个。

xml_injection1

第 4 步– 现在让我们点击“提交”,看看我们在响应 XML 中得到了什么。如下所示,我们符合条件的三个奖励以 XML 的形式传递给我们。

xml_injection2

第 5 步– 现在让我们编辑这些 XML 并添加其他两个奖励。

xml_injection3

第 6 步– 现在所有奖励都将显示给用户供他们选择。选择我们添加的那些,然后单击“提交”。

xml_injection4

第 7 步– 出现以下消息,“* 恭喜。您已成功完成本课。”

预防机制

客户端 –

  • 使用 .innerText 而不是 .innerHtml。
  • 不要使用评估。
  • 不要依赖客户端逻辑来确保安全。
  • 避免编写序列化代码。
  • 避免动态构建 XML。
  • 永远不要向客户传输秘密。
  • 不要在客户端代码中执行加密。
  • 不要在客户端执行影响安全的逻辑。

服务器端 –

  • 使用 CSRF 保护。
  • 避免编写序列化代码。
  • 用户可以直接调用服务。
  • 避免手动构建 XML,使用框架。
  • 避免手动构建 JSON,使用现有框架。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁