Top Ten列表
以下为OWASP Top Ten计划中记录的十大排名列表:(OWASP 2006)
- 未经确认的输入——在数据进入一个应用程序之前,没有对它进行检查,这是一种常见的编程错误。随着我们更加详细地探讨每个脆弱性,我们会发现,未经确认的输入是造成大多数Web应用程序安全漏洞的根本原因。
- 访问控制不完善——许多组织建立了周全的访问控制。但是,允许输入某些字符串可能会使一个攻击绕过这些控制。
- 认证和会话管理不完善——建立强大的访问控制还不够。组织还必须保证密码、会话令牌、账户列表和任何其它可能为攻击者提供足够的网络知识,从而破坏安全控制的信息。
- 跨站脚本(XSS)错误——XSS是一个常见的攻击向量。一旦一个攻击脚本被植入到一个服务器网页或其它经常被访问的Web资源中,它会由任何访问这个资源的未受保护的工作站执行。这可能会危及到数以百计或数以千计的员工或客户的终端用户设备的安全。
- 缓冲区溢出——在使用低级语言,如C语言时,程序员的一个常见错误就可能引起缓冲区溢出。如没有检查输入来保证它适合给它分配的内存这种编程错误。在这个系列的后续文章中我们会看到,使用Java和.Net这样的开发环境几乎能够消除这种脆弱性。
- 注入错误——无法禁止句法性输入可能造成对数据库信息的未授权访问。例如,在Web表格中输入不可执行的字符串应该很简单。
- 错误处理不正确——正常情况下,发生错误时应该提供错误消息通知用户。但是,提供过多信息可能帮助攻击者跟踪一个目标网络。
- 存储不安全——安全存储密码、账户名和其它与应用程序相互认证有关的信息是一个常见的难题。对这些信息进行加密是最好的方法,但一些组织并没有选择使用经过仔细测试的加密解决方案。
- 应用程序拒绝服务——像网络拒绝服务(DoS)一样,应用程序DoS指未授权用户使用应用程序资源,造成授权用户无法工作。
- 配置管理不安全——有效地配置管理过程能够对Web应用程序和基本基础设施进行强化。
关于这个列表,我想强调两个问题。第一,这个列表并没有列出危害一个组织的Web应用程序环境的所有脆弱性。它仅仅提出OWASP成员组织认为你可能会遇到的最重要的问题。
第二,表中的脆弱性没有特定的先后顺序。应该由每个组织根据其特定的Web应用程序使用情况,排定所列出的脆弱性的顺序。
在这个系列的下一篇文章中,我将详细讨论Top Ten列表中的前两项内容——未经确认的输入和访问控制不完善。
责任编辑:德东
查看本文国际来源