OWASP或Open Web Security Project是一家非营利性慈善组织,致力于提高软件和Web应用程序的安全性。 该组织根据来自各种安全组织的数据发布顶级Web安全漏洞列表。 根据可利用性,可检测性和对软件的影响,Web安全漏洞具有优先级。
可开发性 - 利用安全漏洞需要什么?当攻击仅需要Web浏览器且最低级别是高级编程和工具时,可攻击性最高。可检测性 - 检测威胁有多容易?最高的是显示在URL,表单或错误消息上的信息,最低的是源代码。影响或损坏 - 如果安全漏洞暴露或受到攻击,将会造成多大的破坏?最高的是完整的系统崩溃,最低的是什么都没有。
OWASP Top 10的主要目标是向开发人员,设计人员,经理,架构师和组织介绍最重要的安全漏洞。
根据OWASP Top 10,十大安全漏洞是:
- SQL Injection(SQL注入)
- Cross Site Scripting(xss跨站脚本)
- Broken Authentication and Session Management(身份验证和会话管理中断)
- Insecure Direct Object References(不安全的直接对象引用)
- Cross Site Request Forgery(跨站点请求伪造)
- Security Misconfiguration(安全配置错误)
- Insecure Cryptographic Storage(不安全的加密存储)
- Failure to restrict URL Access(无法限制URL访问)
- Insufficient Transport Layer Protection(传输层保护不足)
- Unvalidated Redirects and Forwards(未经验证的重定向和转发)
1. SQL Injection(SQL注入)
描述: SQL注入是一个安全漏洞,允许攻击者通过操纵用户提供的数据来更改后端SQL语句。 当用户输入作为命令或查询的一部分被发送到解释器并且欺骗解释器执行非预期的命令并且允许访问未授权的数据时,发生注入。 由Web应用程序执行时的SQL命令也可以公开后端数据库。
意义: 攻击者可以将恶意内容注入易受攻击的字段。可以从数据库中读取敏感数据,如用户名,密码等。可以修改数据库数据(插入/更新/删除)。管理操作可以在数据库上执行
易受攻击的对象: 输入字段与数据库交互的URL。
例子: 登录页面上的SQL注入
在没有有效凭据的情况下登录应用程序。 有效的userName可用,密码不可用。 测试网址:http://demo.testfire.net/default.aspx 用户名:sjones 密码:1 = 1'或pass123