首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Web 应用程序安全性:测试漏洞 -1 简介

Web 应用程序安全性:测试漏洞 -1 简介

Web 的应用日益广泛,而安全性却越来越低。事实上,Web Application Security            Consortium (WASC) 在 2009 年初就估计,所有 Web 站点中有 87% 是有漏洞,会被攻击的(有关更多信息,请参见  中的链接)。尽管一些公司请得起外部安全分析师来测试 exploit,但不是每家公司都有财力花 2~4 万美元做外部安全审计。相反,组织变得依赖于自己的开发人员了解这些威胁和确保代码没有任何此类漏洞。
常用缩写词
  • HTML(Hypertext Markup Language):超文本标记语言
  • SQL(Structured Query Language):结构化查询语言
  • URL(Uniform Resource Locator):统一资源定位符

要编写安全的代码,必须首先了解您的应用面临的威胁。本文讨论一些比较流行的漏洞,比如跨站脚本编程和 SQL 注入,并介绍一些工具,可以用来帮助您不仅保护站点还保护那些支持站点的数据和网络。本文不旨在成为安全分析师的替代,也不讲授核心安全技能。而是着重于教您如何找到代码中的潜在 exploit 并修复漏洞。
常见漏洞首先,需要了解一些您要寻找的漏洞。第一个漏洞是最流行的:跨站脚本编程(cross-site scripting,XSS)。XSS 由注入 Web 站点的恶意脚本而导致。例如,Mallory 编写了一个脚本,会将用户发送到 Alice 创建的一个受信任的 Web 站点。Mallory 将该脚本插入一个流行的论坛。当 Bob 在论坛上看到这个链接时,他点击并在 Alice 的 Web 站点上创建一个帐户。该脚本就利用了 Alice 的 Web 站点中的一个 XSS 缺陷,然后将 Bob 的 cookie 发送给 Mallory。Mallory现在可以模仿 Bob 并盗取他的信息。
SQL 注入是第二个最流行的漏洞,这主要是因为 Web 站点对数据库的依赖性日益增加。SQL 注入实际上相当简单:通过找到一个连接到数据库的 Web 站点,恶意黑客在开发人员不打算忽略身份验证或进行数据操纵的地方执行一个 SQL 查询。这就是 Albert Gonzalez 用来盗取 1.3 亿信用卡号的那类攻击。在 SQL 注入攻击中,Mallory 找到 Alice 创建来售电的一个 Web 站点。不是输入通常的用户名-密码组合,Mallory 输入 ‘) OR 1=1- 作为用户名。由于她包含了连字号(-),所以任何其他东西都不需要;由于 1=1 总是为真,所以她将能够成功登录。现在,她可以操纵数据库,盗取 Bob 的客户信息。尽管本例以最简单的形式演示了一个 SQL 注入,但是您可以看出攻击者利用 SQL 注入有多么容易。
没有专门的安全分析师团队,一般的 Web 开发人员似乎对这些漏洞束手无策。幸运的是,事实本非如此。有很多工具可用,可以帮助您找到站点上可能的漏洞,以便采取必要的措施修复漏洞。诸如 WebScarab 和 Paros 之类的工具捕获浏览器和服务器之间的会话,爬行 Web站点以帮助您识别潜在的风险。有了这些信息,就可以检查这些漏洞并进行防御。
返回列表