当前位置: 首页 > 教程 > 安全测试 >

AJAX安全问题

精华
小牛编辑
154浏览
2023-03-14

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

  • 攻击面更多,因为需要保护更多输入。
  • 它还公开了应用程序的内部功能。
  • 无法保护身份验证信息和会话。
  • 客户端和服务器端之间存在非常狭窄的界限,因此存在安全性错误的可能性。

 示例

以下是AJAX安全性的示例 -

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

动手实践

第1步 - 我们需要尝试使用XML注入为您允许的奖励集添加更多奖励。如下图所示 -

第2步 - 确保使用Burp Suite拦截请求和响应。设置如下图所示 -

拦截请求和响应

第3步 - 输入方案中给出的帐号。我们将能够获得账号获得所有奖励列表。我们有资格获得5个奖励。

第4步 - 现在我们点击“提交”,看看在响应XML中得到了什么。如下所示,我们有资格获得的三个奖励将作为XML返回。

第5步 - 现在编辑XML并添加其他两个奖励。

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

第7步 - 出现以下消息:“* Congratulations. You have successfully completed this lesson.”

预防机制

客户端 -

  • 使用.innerText而不是.innerHtml
  • 不要使用eval。
  • 不要依赖客户端逻辑来提高安全性。
  • 避免编写序列化代码。
  • 避免动态构建XML。
  • 切勿将加密信息传递给客户。
  • 不要在客户端代码中执行加密。
  • 不要在客户端执行安全性影响逻辑。

服务器端 -

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