【渗透测试】OWASP 及其 10 个漏洞

在这篇文章中,我们将讨论开放 Web 应用程序安全项目 (OWASP) 的 10 个漏洞,并分享一些预防措施来防范这些漏洞

OWASP 的全称是 Open Web Application Security Project。它是一个非营利组织,帮助各种组织开发、购买和维护可信赖的软件应用程序。OWASP 要求受过教育的开发人员、设计师、架构师和业务所有者来识别与最常见的 Web 应用程序安全漏洞相关的风险。

OWASP 被称为论坛,因为它支持开源和商业安全产品,信息技术专业人员可以在其中建立网络和建立专业知识。组织所需的材料可用于免费和开放的软件许可证。

OWASP 的 10 大漏洞

OWASP 是对数据的公开呼吁,是公司执行安全代码审查、渗透测试等的最佳选择,并且可以匿名发送他们的数据。为了产生每个风险和每个漏洞的频率,数据将根据其可利用性、普遍性、可检测性和技术影响的分数进行整理和分配

注射 (Injection 

敏感信息可能会从冗长的错误消息中泄露出来,而注入缺陷可能会导致严重的不良后果和灾难性后果。注入漏洞不仅限于 SQL 注入、LDAP 注入或文件系统注入。自 2013 年以来,OWASP 列表中的注入漏洞发生在应用程序输入用户提供的数据时,这些数据将在没有适当的输入验证检查的情况下传递到黑化的数据库或服务器。黑客的意图是利用应用程序,因此他/她将相应地制作一个字符串。 

一些预防措施是:

  • 使用参数化查询组合、存储过程、输出转义和白名单来验证服务器端输入。
  • 在注入攻击成功的情况下,使用 LIMIT(一种数据库控制)来防止大规模泄露。

身份验证损坏(Broken Authentication

自 2013 年以来,就像注入一样,破坏身份验证在 OWASP 十大漏洞列表中的位置也没有改变。如果系统身份验证通过泄露密码、会话令牌等配置错误,攻击者可以冒充合法用户。这将产生严重的技术影响。如果您像其他人一样登录,您可能会访问网站或应用程序的所有资源。以下是预防措施:

  • 应实施多因素身份验证 (MFA)。
  • 尽量避免使用默认凭据。
  • 密码策略应该非常强大。
  • 防止页面延迟登录失败、随机会话 ID、会话超时等。
  • 登录到所有失败的日志尝试。 

敏感数据暴露(Sensitive Data Exposure

大多数与财务信息、健康记录、用户凭据等相关的数据都属于敏感数据,在此漏洞中,此类数据通常应加密或隐藏,以便以明文形式显示。黑客还可以通过执行中间人 (MiM) 并窃取传输中的数据来访问此信息。在过去的几年里,敏感数据的泄露变得越来越普遍。下面列出了一些预防措施:

  • 正在处理、存储或传输的数据应按敏感度级别对应用程序进行分类,并相应地对其进行一些控制。
  • 应该强制执行加密。
  • 应使用标准算法和适当的密钥管理系统。
  • 应禁用包含敏感数据的缓存响应并停止存储不必要的数据。

XML 外部实体 (XML External Entities (XXE))

XXE 可以从 Web 应用程序中的 XML 解析器中获得一些好处,这可能会处理和执行一些支付负载,其中包括 XML 文档中的外部引用。基于统计的列表,其中添加了此漏洞,并且此统计列表由运行静态分析工具的公司返回。他们已经看到,在过去的几年里,这个漏洞在 XML 处理中逐渐受到关注,并已成为 Web 应用程序的更严重风险。 

如果攻击者在 XML 文件中添加或修改了这些实体,并且在其中指出了恶意源,那么它们可能会导致拒绝服务 (DoS) 攻击或 SSRF 攻击。预防措施如下:

  • 为了防止 XML 文档中的恶意数据,请尝试实施服务器端输入验证、清理检查等。
  • 应禁用 XML 外部实体和 DTD 处理。
  • 上传的地方使用超时并在那里进行测试。
  • 使用不太复杂的格式,例如 JSON。
  • 应避免对敏感数据进行序列化,并且需要修补所有 XML 处理器和库。

损坏的访问控制(Broken Access Control

OWASP 漏洞列表中有两个类别,分别名为 Missing function level access control 和 insecure direct object references。两者都合并到 OWASP 最新发布的列表中的损坏访问控制中。访问控制系统中的弱点被称为损坏的访问控制,这将允许攻击者通过绕过授权获得特权用户的访问权限。一些预防措施包括:

  • 默认情况下应避免使用所有其他资源,公共资源除外,还应维护日志以防访问控制失败和提醒管理员。
  • 在应用程序中,实施和重用访问控制检查,包括最小化跨域资源共享 (CORS) 的使用。

安全配置错误 (Security Misconfigurations 

在这个类别中,有各种各样的不正确的实现来保证应用程序数据的安全。有各种各样的事情,例如错误配置安全标头,忽略可能泄漏敏感信息的详细错误消息,补丁或升级系统忽略等。补救措施如下所述 -

  • 应实施安全的安装过程。
  • 使用“分段应用程序架构”来实现零信任模型,它只允许所需的行为并阻止不必要的行为。

跨站脚本(Cross-Site Scripting

跨站点脚本在 OWASP 十大漏洞列表中的位置从第三位跌至第七位。只是因为其他漏洞获得了更多优先权。尽管如此,它仍然是影响超过三分之二的应用程序的常见漏洞之一。下面列出了一些预防措施:

  • 使用通过设计过滤 XSS 的框架,例如最新的 Ruby on Rails。
  • 应启用数据转义技术、上下文敏感编码应用程序实施和内容安全策略 (CSP) 作为缓解措施。

不安全的反序列化(Insecure Deserialization

序列化内容是应用程序代码中的一个对象,并将其转换为字节流。反序列化正好相反,它指的是序列化的数据转换回应用程序可用的对象。以下是一些预防措施:

  • 不应接受来自不受信任来源的序列化对象。
  • 检查完整性实现和严格的类型约束应在反序列化期间强制执行。

使用具有已知漏洞的组件(Using components With known Vulnerabilities

本节主要是指使用各种组件(例如将库实现到某个功能)而不验证它们的第一个合法性的普遍问题。可利用性得分是可变的,取决于漏洞的位置和位置。一些预防措施是:

  • 仅应使用来自官方来源的组件并保持其当前库存。
  • 应持续监控 CVE 等来源的组件中的漏洞。

记录和监控不足(Insufficient Logging and Monitoring

组织需要记录事件以在其应用程序的有趣上下文中检测数据泄露。在 Web 应用程序中记录事件或安全事件的发生称为日志记录。例如,同一 IP 的重复登录尝试失败。持续关注这些可以升级到事件响应 (IR) 团队以便及时采取行动的日志被称为监控。预防措施是:

  • 应记录所有可疑活动,以便识别恶意帐户。
  • 应为重要交易保留详细的审计跟踪。它将防止删除或篡改。
  • 应建立事件响应和恢复工厂。

就这样!我希望这些信息可以帮助您建立强大的安全策略。

来自:OWASP and Its 10 Vulnerabilities - DZone Security 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值