- 安全测试教程
- 安全测试 - 首页
- 安全测试 - 概述
- 安全测试 - 流程
- 安全测试 - 恶意软件
- HTTP 协议基础
- HTTPS 协议基础
- 编码和解码
- 安全测试 - 密码学
- 安全测试 - 同源策略
- 安全测试 - Cookie
- 黑客攻击 Web 应用
- 安全测试 - 注入攻击
- 测试身份验证漏洞
- 测试跨站脚本攻击
- 不安全的直接对象引用
- 测试安全配置错误
- 测试敏感数据泄露
- 缺少函数级访问控制
- 跨站请求伪造
- 存在漏洞的组件
- 未验证的重定向和转发
- 安全测试 - Ajax 安全性
- 测试安全 - Web 服务
- 安全测试 - 缓冲区溢出
- 安全测试 - 拒绝服务攻击
- 测试恶意文件执行
- 安全测试 - 自动化工具
- 安全测试有用资源
- 安全测试 - 快速指南
- 安全测试 - 有用资源
- 安全测试 - 讨论
AJAX 安全性
异步 JavaScript 和 XML (AJAX) 是开发 Web 应用以提供丰富用户体验的最新技术之一。由于它是一项新技术,许多安全问题尚未完全确定,以下是 AJAX 中的一些安全问题。
攻击面更大,因为需要保护更多的输入。
它还会暴露应用程序的内部功能。
未能保护身份验证信息和会话。
客户端和服务器端之间界限模糊,因此可能发生安全错误。
示例
这是一个 AJAX 安全性的示例:
2006 年,一个蠕虫病毒利用 XSS 和 AJAX 感染了雅虎邮箱服务,该病毒利用了雅虎邮箱 onload 事件处理中的漏洞。当打开受感染的电子邮件时,蠕虫会执行其 JavaScript 代码,并将副本发送给受感染用户的全部雅虎联系人。
动手操作
步骤 1 - 我们需要尝试使用 XML 注入向允许的奖励集合中添加更多奖励。以下是场景快照。
步骤 2 - 确保我们使用 Burp Suite 拦截请求和响应。设置如下所示。
步骤 3 - 输入场景中给出的帐号。我们将能够获得我们有资格获得的所有奖励的列表。我们有资格获得 5 个奖励中的 3 个。
步骤 4 - 现在我们点击“提交”,看看我们在响应 XML 中得到了什么。如下所示,我们有资格获得的三个奖励作为 XML 传递给我们。
步骤 5 - 现在让我们编辑这些 XML 并添加另外两个奖励。
步骤 6 - 现在所有奖励都将显示给用户供他们选择。选择我们添加的奖励并点击“提交”。
步骤 7 - 出现以下消息:“*恭喜!您已成功完成本课程。”
预防机制
客户端 -
- 使用 .innerText 代替 .innerHtml。
- 不要使用 eval。
- 不要依赖客户端逻辑来保证安全性。
- 避免编写序列化代码。
- 避免动态构建 XML。
- 切勿将密钥传输到客户端。
- 不要在客户端代码中执行加密。
- 不要在客户端执行影响安全性的逻辑。
服务器端 -
- 使用 CSRF 保护。
- 避免编写序列化代码。
- 用户可以直接调用服务。
- 避免手动构建 XML,使用框架。
- 避免手动构建 JSON,使用现有框架。
广告