赞
踩
OWASP Top 10 是由开放 Web 应用程序安全项目 (OWASP) 建立的,该项目是一个非营利组织,可免费提供有关 Web 应用程序安全的文章和其他信息。
目录
在 开放Web应用基金会致力于创造一个更安全的网络应用环境。它免费提供文章、工具、技术和论坛,让每个开发人员都能创建安全的代码。其最著名的项目之一是 OWASP Top 10。
OWASP 前 10 名名单
OWASP Top 10 是根据开放 Web 应用程序安全项目公开共享的 10 个最关键的 Web 应用程序安全漏洞列表。根据 OWASP,漏洞是应用程序中的一个弱点,它允许恶意方对应用程序的利益相关者(所有者、用户等)造成伤害。
OWASP Top 10 列表由全球 Web 应用程序安全专家开发并定期更新。它旨在教育公司了解他们需要缓解以保护其 Web 应用程序的漏洞和关键安全风险。
此列表也正在为移动应用程序开发 。
在 Top 10 列表旁边,OWASP 还发布和维护以下资源:
一个 注入攻击 是指恶意代码的输入攻击者到应用程序迫使其执行命令妥协数据或整个应用程序。最常见的注入攻击类型是 SQL 注入和跨站点脚本 (XSS) 攻击,但也有代码注入、命令注入、CCS 注入等。
SQL 注入 是指利用由于用户输入中缺少元字符屏蔽或验证而导致的 SQL 数据库漏洞。
攻击者试图通过有权访问数据库的应用程序注入他自己的数据库命令。但是,由于请求未正确验证,插入的代码更改了原始 SQL 命令,因此更改了有利于攻击者的结果。
攻击成功后,攻击者可以窥探、修改或完全删除数据,并控制服务器。为此,攻击者有不同的方法来破坏系统。例如,可以通过响应时间或错误消息找到进入系统的途径。
如何防止SQL注入攻击?
避免注入缺陷的主要方法是将数据库中的数据与命令和查询分开,即将其与 Web 应用程序逻辑分开。这可以通过几种不同的方式实现,包括:
与身份验证和会话管理相关的应用程序功能 经常被错误地实现,允许攻击者破坏密码、密钥或会话令牌或利用其他实现缺陷来临时或永久地假设用户的身份。
攻击者可以利用该漏洞劫持用户会话,访问或修改其无权访问的信息。
如何防止损坏的身份验证漏洞?
为避免利用损坏的身份验证进行攻击,OWASP 建议采取以下措施:
敏感数据泄露是最常见的攻击之一。它包括访问、修改或窃取未受保护的静止或传输中的数据(传输的数据)。此类数据通常包括个人身份信息 (PII),例如凭据、健康记录、信用卡号等。缺乏加密是数据最终暴露的原因之一。
获取敏感数据访问权限的方法各不相同,但可能包括攻击者窃取密钥、执行路径攻击(也称为中间人)、从服务器或用户窃取明文数据等。
模糊测试 是一种使用无效、随机或意外数据来产生意外状态或访问隐藏特征的技术。有多种类型的模糊测试:
如何防止敏感数据泄露?
您可以采取多种措施来保护任何敏感数据免遭泄露。这些包括:
默认情况下,许多旧的或配置不当的 XML 处理器会评估 XML 文档中的外部实体引用。这可以被设法上传 XML 文档(例如 DOCX 或 SVG 文件)或在 XML 文档中包含恶意内容的攻击者利用。
在这种情况下,外部实体可用于使用文件 URI 处理程序提取内部文件。它们还可以启用内部文件共享、内部端口扫描、远程请求执行和拒绝服务攻击 (DOS) 的性能。
如何防止 XML 外部实体攻击?
为了防止这种攻击,开发人员需要接受培训以测试、识别和缓解 XXE。此外,OWASP 建议采取以下措施:
损坏的访问控制 是指对经过身份验证的用户的行为实施限制时存在的漏洞。当限制没有得到正确执行时,攻击者可以利用这个弱点来获得对系统功能和敏感个人数据的未经授权的管理访问。他们还可以创建、修改或删除数据。
如何防止访问控制失效?
为了有效地阻止访问控制,它必须在受信任的服务器端代码或无服务器 API 中强制执行。这将防止攻击者修改访问控制检查或元数据。OWASP 列出了以下措施来防止此类攻击:
此外,您可能想要:
安全配置错误 是打开攻击面的常见问题。这通常是由于:
不仅必须安全地配置所有操作系统、框架、库和应用程序,而且必须及时修补/升级它们。
像 Crashtest Security 这样的自动化渗透测试工具可以帮助检测安全漏洞,这些漏洞可能通过安全配置错误而导致漏洞。注册免费试用并 在几分钟内开始您的第一次扫描。
如何防止安全配置错误攻击?
OWASP 建议实施安全安装过程。除此之外,你应该:
跨站点脚本是将客户端脚本注入到 Web 应用程序中,这是通过不对用户输入进行验证和正确编码来实现的。恶意脚本在最终用户的浏览器中执行并启用各种攻击——从窃取他们的会话到监控和更改受影响网站上的任何操作。
存在不同类型的跨站点脚本攻击,具体取决于恶意脚本是非持久性注入还是持久性注入。此外,还区分了由客户端或服务器端有缺陷的输入验证引起的漏洞。
如何防止跨站脚本(XSS)?
根据 OWASP 的说法,防止此类攻击的主要方法是将不受信任和未经验证的数据输入与活动浏览器内容分开。这可以通过以下方式完成:
不安全反序列化 是一种攻击,其中将被操纵的对象注入到 Web 应用程序的上下文中。如果存在应用程序漏洞,则对象被反序列化并执行,从而导致 SQL 注入、路径遍历、应用程序拒绝服务和远程代码执行。
如何防止不安全的反序列化?
为了防止不安全的反序列化,OWASP 建议执行以下步骤:
库、框架和其他软件模块等组件的权限与应用程序的权限相同。如果利用易受攻击的组件,则可能会丢失数据和服务器接管。使用具有已知漏洞的组件的应用程序和 API 可能会破坏应用程序防御并引发各种攻击和影响。这是一个普遍存在的问题。
为了帮助您评估您使用的组件是否存在已知漏洞,指纹扫描仪会尝试检测任何Web 服务器 或 Web 应用程序 框架以及服务器上运行的相关版本。
如何避免使用已知漏洞的组件?
要修复此类组件的使用,您应该:
日志记录和监控不足,再加上与事件响应的集成缺失或无效,使攻击者能够进一步攻击系统,保持持久性,转向更多系统,并篡改、提取或破坏数据。
大多数违规研究表明检测违规的时间超过 200 天,通常由外部方而不是内部流程或监控检测到。
如何避免因日志和监控不足而导致的攻击?
为了防止由于此问题而出现的常见漏洞,OWASP 建议您:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。