1.注入漏洞 高
注入漏洞是指发生在应用程序将不可信的数据发送到解释器。攻击者发送简单的基于文本的攻击,利用目标处理程序语法。扫描器和模糊测试工具可以帮助攻击者找到这些漏洞。注入能导致数据丢失或数据破坏,甚至能导致完全主机接管。注入漏洞严重的话,所有的数据都有可能被偷窃,篡改和删除。
2.失效的身份认证 高
大多数身份和访问管理系统的设计和实现,普遍存在身份认证失效问题。会话管理是身份验证和访问控制的基础,并且存在于所有状态应用程序中。攻击者可以使用指南手册来检测失效的身份验证,但通常会关注密码转储、字典攻击,或者在类似于钓鱼或社会工程攻击之后,发现失效的身份认证。攻击者可以获得数百万的有效用户名和密码组合,包括证书填充、默认的管理帐户列表、自动的暴力破解和字典攻击工具,以及高级的GPU破解工具。会话管理攻击很容易被理解,尤其是没有过期的会话密钥。攻击者只需要访问几个帐户,或者只需要一个管理员帐户就可以破坏我们的系统。根据应用程序领域的不同,可能会导致放任洗钱、社会安全欺诈以及用户身份盗窃、泄露法律高度保护的敏感信息。
3.跨站脚本(XSS) 中
跨站脚本是最普遍的web应用安全漏洞。当应用程序发送给浏览器的页面中包含用户提供的数据,而这些数据没有经过适当的验证或转义,就会导致跨站脚本漏洞。攻击者发送基于文本的脚本用于浏览器中的解释器。几乎所有数据源都能成为攻击媒介,包括内部数据源,比如内部数据库中的数据。漏洞的存在会影响系统业务的正常运行。
4.敏感数据泄露 高
在最近几年,这是最常见的、最具影响力的攻击。这个领域最常见的漏洞是不对敏感信息进行加密。在数据加密过程中,常见的问题是不安全的密钥生成和管理以及使用弱加密算法、弱协议和弱密码。特别是使用弱的哈希算法来保护密码。攻击者不是直接攻击密码,而是在传输过程中或从客户端(例如:浏览器)窃取密钥、发起中间人攻击,或从服务器端窃取明文数据。这通常需要手动攻击。这个领域的错误频繁影响那些本应该加密的数据。通常情况下,这些数据通常包括很多个人敏感信息(PII),例如:医疗记录、认证凭证、个人隐私、信用卡信息等。
5.不安全的直接对象引用中
当生成web页面时,应用程序经常使用对象的实名或关键字。而应用程序并不会每次都验证用户是否有权访问该目标对象,这就导致了不安全的直接对象引用漏洞。作为授权的系统用户,攻击者只需要修改指向一个系统对象的直接引用参数值,让其指向另一个无权访问的对象。这种漏洞能损害通过该参数引用的所有数据。
6.XML外部实体(XXE)高
默认情况下,许多旧的XML处理器能够对外部实体、XML进程中被引用和评估的URI进行规范。SAST 工具可以通过检查依赖项和安全配置来发现XXE缺陷。如果攻击者可以上传XML文档或者在XML文档中添加恶意内容,通过易受攻击的代码、依赖项或集成,他们就能够攻击含有缺陷的XML处理器。XXE缺陷可用于提取数据、执行远程服务器请求、扫描内部系统、执行拒绝服务攻击和其他攻击。
7.安全配置错误中
错误安全配置可以发生在一个应用程序堆栈的任何层面,包括平台、Web服务器、应用服务器、框架和自定义代码。攻击者访问默认账户、未使用的网页、未安装补丁的漏洞、未被保护的文件和目录等,以获得对系统未授权的访问或了解。这些漏洞使攻击者经常访问一些未授权的系统数据或功能。有时这些漏洞可能导致系统的完全攻破。
8.跨站请求伪造(CSRF)中
跨站请求伪造是利用某些web应用程序允许攻击者预测一个特定操作的所有细节这一特点。由于浏览器自动发送会话cookie等认证凭证,攻击者能创建恶意web页面产生伪造请求。这些伪造请求很难与合法请求区分开。攻击者创建伪造HTTP请求并通过图片标签、跨站脚本或许多其他技术诱使受害者用户提交这些请求。攻击者能让受害者用户修改该受害用户允许修改的任何数据,或者是执行该受害者用户被授权使用的任何功能。
9.失效的访问控制高
由于缺乏自动化的检测和应用程序开发人员缺乏有效的功能测试,因而访问控制缺陷很常见。攻击者可以冒充用户、管理员或拥有特权的用户,或者创建、访问、更新或删除任何记录。
10.不安全的反序列化高
如果应用中存在可以在反序列化过程中或者之后被改变行为的类,则攻击者可以通过改变应用逻辑或者实现远程代码执行攻击。对反序列化的利用是有点困难的。因为在不更改或调整底层可被利用代码的情况下,现成的反序列化漏洞很难被使用。反序列化缺陷的影响不能被低估。它们可能导致远程代码执行攻击,这是可能发生的最严重的攻击之一。
11.使用含有已知漏洞的组件中
大多数的应用都存在这些问题。因为大多数的开发团队并不会把及时更新组件/库作为他们的工作重心。在很多情况下,开发者都不了解他们所使用的全部组件,更不用说组件的版本了。组件的依赖性使情况更加糟糕。攻击者通过扫描或手动分析识别问题组件,然后根据需要定制攻击代码并实施攻击。可能是由低到高全系列的漏洞,包括注入,破损的访问控制,XSS等。受影响范围也从最低的受损到主机被完全接管和数据的泄漏。
12.不足的日志记录和监控中
对不足的日志记录及监控的利用几乎是每一个重大安全事件的温床。攻击者依靠监控的不足和响应的不及时来达成他们的目标而不被知晓。多数成功的攻击往往从漏洞探测开始。允许这种探测会将攻击成功的可能性提高到近100%。
13.未验证的重定向和转发中
应用程序经常将用户重定向到其他网站,或以类似的方式进行内部转发。有时,目标网页是通过一个未经验证的参数来指定的,这就允许攻击者选择目标页面。攻击者链接到未验证的重定向并诱使受害者去点击。由于是链接到有效的网站,受害者很有可能去点击。这种重定向可能试图安装恶意软件或者诱使受害者泄露密码或其他敏感信息。可能导致用户不信任正规系统了。
14.不安全的直接对象引用中
当生成web页面时,应用程序经常使用对象的实名或关键字。而应用程序并不会每次都验证用户是否有权访问该目标对象,这就导致了不安全的直接对象引用漏洞。作为授权的系统用户,攻击者只需要修改指向一个系统对象的直接引用参数值,让其指向另一个无权访问的对象。这种漏洞能损害通过该参数引用的所有数据。