AJAX安全问题
异步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,使用现有框架。
上一篇:未经验证的重定向和转发
下一篇:Web Service安全