OWASP Top 10(2021)漏洞学习(最新)

A01:2021-权限控制失效

从第五位上升到第一位,94%的应用程序都接受了某种形式的针对“失效的访问控制”的测试,该事件的 平均发生率为 3.81%,该漏洞在提供的数据集中出现漏洞的应用数量最多,总发生漏洞应用数量超过31.8万多 次。

如用户在访问账户信息的SQL时调用了未经验证的数据,攻击者只要修改它的参数就能访问任何用户;如果用户发生了平行越权或垂直越权,这也是一种权限控制失效漏洞。

A02:2021-加密机制失效

上升一位到第二名,以前称为“敏感数据泄漏”。“敏感数据泄漏”更像是一种常见的表象问题而不是根 本原因,这项风险重点是与加密机制相关的故障(或缺乏加密机制)。 这往往会导致敏感数据泄漏。

攻击者通过检测网络流量,将HTTPS协议降级到HTTP,然后就能拦截到用户的cookie

A03:2021-注入

注入降至第三。94%的统计应用针对某种形式的注入进行了测试,最大发生率为19%,平均发生 率为3%,共计发生了27.4万次。值得注意的常见弱点枚举(CWE)包括CWE-79: Cross-site Scripting(跨站点脚本)、CWE-89:SQL Injection(SQL注入)和CWE-73:External Control of File Name or Path(文件名或路径的外部控制)。

注入类攻击是十分广泛存在的攻击手段,如cookie注入、SQL注入和反射型XSS、储存型XSS等,恶意代码在网站或数据库中的注入是常见的攻击手段

A04:2021-不安全设计

不安全设计是一个广泛的类别,代表不同的弱点,表示为“缺少或无效的控制设计”。不安全设计 不是所有其他前10个风险类别的来源。不安全设计和不安全的实现之间存在差异。我们区分设计缺陷和 实现缺陷是有原因的,它们有不同的根本原因和补救措施。安全设计仍然可能存在实现缺陷,从而导致 可能被利用的漏洞。一个不安全设计不能通过一个完美的实现来修复,因为根据定义,所需的安全控制 从未被创建来抵御特定的攻击。导致不安全设计的因素之一是开发的软件或系统中缺乏固有的业务风险 分析,因此无法确定需要何种级别的安全设计。

不安全设计一般是开发中存在的漏洞,它是一个广泛的类别,并不具体。

A05:2021-安全配置错误

您的应用程序可能受到攻击,如果应用程序是:

  • 应用程序栈的任何部分缺少适当的安全加固,或者云服务的权限配置错误。

  • 应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。

  • 默认帐户和密码仍然可用且没有更改。

  • 错误处理机制向用户纰漏堆栈信息或其他大量错误信息。

  • 对于升级的系统,最新的安全特性被禁用或未安全配置。

系统的安全配置错误也是一个漏洞,比如密码的四分之三原则配置没有开启,导致密码设置过于简单,这需要安全检查来维护。

A06:2021-自带缺陷或过时的组件

如果满足下面的某个条件,那么您的应用就易受此类攻击:

  • 如果您不知道所有使用的组件版本信息(包括:服务端和客户端)。这包括了直接使用的组件或间 接依赖的组件。
  • 软件易受攻击,不再支持或者过时。这包括:系统、Web服务器、应用程序服务器、数据库 管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。
  • 如果您没有定期做漏洞扫描和订阅使用组件的安全公告。
  • 如果您不基于风险及时修复或升级底层平台、框架和依赖库。很可能发生这种情况:根据变更控制, 每月或每季度进行升级,这使得组织在这段时间内会受到已修复但未修补的漏洞的威胁。
  • 如果软件工程师没有对更新的、升级的或打过补丁的组件进行兼容性测试。
  • 如果您没有对组件进行安全配置(参见“A05:2021–安全配置错误”)

使用的组件可能存在缺陷和自带后门,或者平台、框架过旧,没有进行维护和升级,那么就容易被攻击。

A07:2021-身份识别和身份验证错误

在 URL 中泄露会话(Session) ID 。比方说,一段 URL 中有 Session 值,被攻击者监听到了,就很容易利用 Session 进行水平越权处理。

登录了没有转换会话(Session) ID 。

没有及时的注销会话(Session) ID ,用户的会话(Session)或者认证token(主要的单一登入认证)没有在登出或者一段时间没活动时被注销。

该漏洞指如果身份识别错误,cookie、session容易被攻击者捕捉到,然后被水平越权。

A08:2021-软件及数据完整性故障

软件和数据完整性故障与无法防止违反完整性的代码和基础设施有关。这方面的一个例子是, 应用程序依赖于不受信任的源、存储库和内容分发网络(CDN)的插件、库或模块。不安全的 CI/CD管道可能会带来未经授权的访问、恶意代码或系统安全风险。

最后,许多应用程序现在包括 自动更新功能。其中,更新包在没有进行充足完整性验证的情况下被下载,并应用于以前受信任的 应用程序。攻击者可能会上传自己的更新包,以便在所有安装上分发和运行。另一个例子是,对象 或数据被编码或序列化为攻击者可以看到和修改的结构,很容易受到不安全的反序列化的影响。

应用程序如果依赖于未知的、不受信任的源,容易造成漏洞,此外,如果更新包在没有完整性验证的情况下被下载,用被以前的应用程序使用,也会容易被攻击

不安全的反序列化也属于此类。

A09:2021-安全日志及监控故障

安全日志和监控故障来自于Top 10的社区调查(排名第3位),比2017年OWASP Top 10社区 调查时的第10位略有上升。日志记录和监控是一项具有挑战性的测试,通常涉及访谈或询问渗透测 试期间是否检测到攻击。这个类别的CVE/CVSS数据不多,但检测和应对违规行为是至关重要的。同 时,它对问责制、可见性、事件告警和取证仍有很大的影响。

如需要审计的事件,例如:登录、失败的登录和高价值交易,但未记录。

日志只存储在本地。

安全日志的要求需要保存6个月,如果未达到标准时间,就属于安全日志和监控故障,并且安全日志中未检测重要数据,或者安全日志的加密等级不够。

A10:2021-服务器端请求伪造

一旦Web应用在获取远程资源时没有验证用户提供的URL,就会出现SSRF缺陷。

它允许攻击 者强制应用程序发送一个精心构建的请求到一个意外目的地,即使是在有防火墙、VPN或其他类型 的网络访问控制列表(ACL)保护的情况下。 随着现代Web应用为终端用户提供便利的功能,获取URL成为一种常见的场景。因此,SSRF安 全攻击事件也在不断增加。此外,由于云服务和架构的复杂性,SSRF的严重性也越来越高。

通俗来讲,有两个网站:
A网站,所有人都可以访问的外网网站
B网站,只能内部访问的网站
A网站能访问B网站
所以,作为普通用户,我们可以访问A网站,然后篡改获取资源的来源,请求从B网站获取资源。A网站没有检测我的请求合不合法,以自己A网站的身份去访问B网站,于是我们就有机会攻击B网站。

服务器请求伪造是通过访问所有人都能访问的外网网站,然后通过它的身份去访问内网网站,这就是服务器请求伪造。

你可能感兴趣的:(网络安全,学习,网络,安全)