OWASP TOP 10及其实例

所有奇迹の始发点 / 2025-01-20 / 原文

OWASP TOP 10

简单来说,OWASP TOP10是一个web安全风险的指南,列举了web使用中面临的10大最严重的安全问题,以帮助公司及企业识别并修复可能存在的安全隐患。

ps:本文大部分信息来源于OWASP基金会官网

TOP 1 访问控制失效

访问控制强制执行策略,使用户无法在他们的预期权限。失效通常会导致未经授权的信息披露、修改或销毁所有数据,或执行超出用户限制的功能

常见实例

image

TOP 2 加密失效

以前称为敏感数据暴露,重点是与加密相关的故障或缺乏加密。例如http、smtp、ftp传输协议的明文形式传输,证书不安全使用,账号密码在数据库中是否进行加密等。

常见实例

image

TOP 3 注入

注入攻击是指攻击者通过输入恶意数据(如SQL代码、OS命令、LDAP等),试图控制后端数据库、服务器或执行任意代码,这类攻击常用于针对数据库,同时造成的危害十分广泛,一般会使整个数据库的信息遭到泄露、窃取、篡改,甚至管理员权限也会遭到获取。

常见实例

攻击场景示例(此处官网给出的实例较长)

场景 #1:应用程序在构造中使用不受信任的数据 以下易受攻击的 SQL 调用中:

String query = "SELECT \* FROM accounts WHERE custID='" + request.getParameter("id") + "'";

场景 #2:同样,应用程序对框架的盲目信任 可能会导致查询仍然容易受到攻击(例如,Hibernate Query 语言 (HQL)):

 Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");

在这两种情况下,攻击者都会修改其 要发送的浏览器:' UNION SLEEP(10);--.例如:

 http://example.com/app/accountView?id=' UNION SELECT SLEEP(10);--

这会更改两个查询的含义,以返回 账户表。更危险的攻击可能会修改或删除数据 甚至调用存储过程。

TOP 4 不安全设计

不安全设计是一个广泛的类别,代表不同的弱点。它们具有不同的根本原因和补救措施。安全设计仍可能存在实现缺陷,从而导致可能被利用的漏洞。不安全的设计无法通过完美的实现来解决,因为难以通过从未见过的所需安全控制来防御特定的攻击。

常见实例

image

TOP 5 安全配置错误

由于操作者的不当配置,如长时间使用默认配置,临时配置,未妥善处置的开源项目等,导致攻击者可以利用这些配置获取到更高的权限。

常见实例

image

TOP 6 使用已知漏洞的高危组件

此处指的是Web应用中使用了存在已知漏洞的第三方组件或库,以及不安全或过时的操作系统、Web/应用程序服务器、数据库管理系统,这些漏洞可能会被攻击者利用来入侵系统或窃取数据。

常见实例

image

TOP 7 失效的身份验证及会话管理

身份认证和会话管理涉及用户登录、密码验证、会话创建和管理等方面。如果身份认证机制存在缺陷,攻击者可能会绕过正常的验证流程,获取未授权访问或者利用实时漏洞冒充用户登录,如果特殊用户被窃取会造成极大的影响。

常见实例

image

TOP 8 软件和数据完整性故障

软件和数据完整性故障与代码和基础设施有关,例如应用程序来自不受信任的来源、存储库和内容的插件、库或CDN。同时,不安全的软件更新通道可能会引入未经授权的访问、恶意代码等系统危害。

常见实例

image

TOP 9 安全日志记录和监控故障

检测和响应数据泄露至关重要,它事关问责制、可见性、 事件警报和取证,旨在帮助检测、 上报并响应主动违规行为。没有日志记录和 监控,则无法检测到违规行为。

常见实例

image

TOP 10 服务器端请求伪造 (SSRF)

每当 Web 应用程序获取远程资源,而无需验证用户提供的 URL。即使受到防火墙、VPN或其他类型的网络访问控制列表 (ACL)限制,它也将会允许攻击者强制应用程序将请求发送到目标。且由于现代 Web 应用程序为最终用户提供了便捷的功能, 获取 URL 成为一种常见情况。此外,因为云服务和架构的复杂性,SSRF的严重程度越来越高。

常见实例

image

今日日鞠