title: "OWASP Top 10 Web Application Security Risks" description: "OWASP前10 Web应用安全风险" date: 2021-04-19T12:58:50+08:00
https://owasp.org/www-project-top-ten/
http://www.owasp.org.cn/owasp-project
https://github.com/owasp-top
OWASP Top 10 Web Application Security Risks Versions
2017 | 2013 | 2010 | 2007 | 2004 | 2003 | |
---|---|---|---|---|---|---|
A1 | 注入 | 注入 | 注入 | 跨站脚本(XSS) | 不安全的配置管理 | 未验证的参数 |
A2 | 失效的身份认证 | 失效的身份认证和会话管理 | 失效的身份认证和会话管理 | 注入漏洞 | 错误的访问控制 | 错误的访问控制 |
A3 | 敏感数据泄露 | 跨站脚本(XSS) | 跨站脚本(XSS) | 恶意文件执行 | 错误的验证和会话管理 | 错误的验证和会话管理 |
A4 | XML 外部实体(XXE) | 不安全的直接对象引用 | 不安全的直接对象引用 | 不安全的直接对象引用 | 注入漏洞 | 跨站脚本 |
A5 | 失效的访问控制 | 安全配置错误 | 安全配置错误 | 跨站请求伪造(CSRF) | 缓冲溢出 | 缓冲溢出 |
A6 | 安全配置错误 | 敏感信息泄漏 | 不安全的加密存储 | 信息泄漏和不恰当的错误处理 | 注入式漏洞 | 命令注入式漏洞 |
A7 | 跨站脚本(XSS) | 功能级访问控制缺失 | 没有限制URL访问 | 失效的身份认证和会话管理 | 不正确的错误处理 | 错误处理的问题 |
A8 | 不安全的反序列化 | 跨站请求伪造(CSRF) | 跨站请求伪造(CSRF) | 不安全的加密存储 | 不安全的存储 | 密码学的不安全的使用 |
A9 | 使用含有已知漏洞的组件 | 使用含有已知漏洞的组件 | 未验证的重定向和转发 | 不安全的通信 | 拒绝访问 | 远程管理漏洞 |
A10 | 不足的日志记录和监控 | 未验证的重定向和转发 | 传输层保护不足 | 没有限制 URL 访问 | 未验证的输入 | Web 和应用服务器的错误配置 |
2017
http://www.owasp.org.cn/owasp-project/download/2010_OWASP_Top_10 https://github.com/owasp-top/owasp-top-2017
注入
- 可利用性: 易
- 普遍性: 常见
- 可利用性: 平均
- 影响: 严重
注入攻击漏洞,例如SQL,OS 以及LDAP注入。这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候。攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者在未被恰当授权时访问数据。
失效的身份认证
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
与身份认证和会话管理相关的应用程序功能往往得不到正确的实现,这就导致了攻击者破坏密码、密匙、会话令牌或攻击其他的漏洞去冒充其他用户的身份。
敏感数据泄露
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。
XML 外部实体(XXE)
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
当开发人员暴露一个对内部实现对象的引用时,例如,一个文件、目录或者数据库密匙,就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用去访问未授权数据。
失效的访问控制
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
好的安全需要对应用程序、框架、应用程序服务器、web服务器、数据库服务器和平台定义和执行安全配置。由于许多设置的默认值并不是安全的,因此,必须定义、实施和维护这些设置。这包含了对所有的软件保持及时地更新,包括所有应用程序的库文件。
安全配置错误
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
许多Web应用程序没有正确保护敏感数据,如信用卡,税务ID和身份验证凭据。攻击者可能会窃取或篡改这些弱保护的数据以进行信用卡诈骗、身份窃取,或其他犯罪。敏感数据值需额外的保护,比如在存放或在传输过程中的加密,以及在与浏览器交换时进行特殊的预防措施。
跨站脚本(XSS)
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
大多数Web应用程序在功能在UI中可见以前,验证功能级别的访问权限。但是,应用程序需要在每个功能被访问时在服务器端执行相同的访问控制检查。如果请求没有被验证,攻击者能够伪造请求以在未经适当授权时访问功能。
不安全的反序列化
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的web应用程序。这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。
使用含有已知漏洞的组件
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
组件,比如:库文件、框架和其它软件模块,几乎总是以全部的权限运行。如果一个带有漏洞的组件被利用,这种攻击可以造成更为严重的数据丢失或服务器接管。应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,并使一系列可能的攻击和影响成为可能。
不足的日志记录和监控
- 可利用性:
- 普遍性:
- 可利用性:
- 影响:
Web应用程序经常将用户重定向和转发到其他网页和网站,并且利用不可信的数据去判定目的页面。如果没有得到适当验证,攻击者可以重定向受害用户到钓鱼软件或恶意网站,或者使用转发去访问未授权的页面
2013
http://www.owasp.org.cn/owasp-project/download/mobile-top-10-2013-2
2010
http://www.owasp.org.cn/owasp-project/download/2010_OWASP_Top_10
2007
https://owasp.org/www-pdf-archive/OWASP_Top_10_2007.pdf