安全测试----OWASP top 10 简介

【原文链接】

一、OWASP Top 10 简介

1.1 OWASP简介

OWASP,开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。

1.2 OWASP Top 10简介

OWASP Top 10就是“十大安全漏洞列表”,目前被许多漏洞奖励平台和企业安全团队评估错误报告。这个列表总结了Web应用程序最可能、最常见、最危险的十大漏洞,可以帮助IT公司和开发团队规范应用程序开发流程和测试流程,提高Web产品的安全性。

1.3 十大漏洞列表

版本 OWASP Top 10
A1 Injection 注入攻击
A2 Broken Authentication 失效的身份验证
A3 Sensitive Data Exposure 敏感数据泄漏
A4 XML External Entity(XEE) XML外部实体漏洞
A5 Broken Access Control 无效的访问控制
A6 Security Misconfiguration 安全配置错误
A7 Cros-Site Scripting(XSS)跨站脚本攻击
A8 Insecure Deserialization 不安全的反序列化漏洞
A9 Using Known Vulnerable Components 使用含有已知漏洞的组件
A10 Insuficient Logging & Monitoring 日志与监控不足

二、十大漏洞简介

2.1 A1 注入

  • 注入漏洞的含义
    将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。

  • 注入漏洞的危害
    注入可以导致数据丢失或被破坏,缺乏可审计性或拒绝服务。注入漏洞有时甚至可导致完全接管主机

  • 注入漏洞的常见类型

    • sql注入
    • –os-shell
    • LDAP(轻量目录访问协议)
    • xpath(XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言)
    • HQL注入
  • 注入漏洞的防范措施

    • 使用安全的API,避免使用解释器
    • 对输入的特殊的字符进行ESCAPE转义处理
    • 使用白名单来规范化的输入验证方法

2.2 失效的身份认证

  • 失效的身份认证漏洞的含义
    通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份

  • 失效的身份认证漏洞的危害
    这些漏洞可能导致部分甚至全部账户遭受攻击,一旦攻击成功,攻击者就能执行合法的任何操作

  • 失效的身份认证漏洞的防范措施

    • 使用内置的会话管理功能
    • 通过认证的问候
    • 使用单一的入口点
    • 确保在一开始登录SSL保护的网页

2.3 敏感数据泄漏

许多Web应用程序和API都无法正确保护敏感数据,例如:财务数据、医疗数据和PII数据。攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、存储的数据以及浏览器的交互数据

2.4 XML外部实体(XEE)

XXE 全称为XML External Entity attack 即XML(可扩展标记语言) 外部实体注入攻击,
许多较早的或配置错误的XML处理器评估了XML文件中的外部实体引用。攻击者可以利用外部实体窃取使用URI文件处理器的内部文件和共享文件、监听内部扫描端口、执行远程代码和实施拒绝服务攻击。

2.5 失效的访问控制

  • 失效的访问控制漏洞含义
    未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

  • 失效的访问控制漏洞危害
    这种漏洞可以损坏参数所引用的所有数据

  • 失效的访问控制漏洞的防范措施

    • 使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击为授权资源
    • 访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查
    • 避免在url或网页中直接引用内部文件名或数据库关键字
    • 验证用户输入和url请求,拒绝包含./ …/的请求

2.6 安全配置错误

  • 安全配置错误漏洞含义
    安全配置错误是最常见的安全问题,这通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。因此,我们不仅需要对所有的操作系统、框架、库和应用程序进行安全配置,而且必须及时修补和升级它们。

  • 安全配置错误漏洞的危害
    系统可能在未知的情况下被完全攻破,用户数据可能随着时间被全部盗走或篡改。甚至导致整个系统被完全破坏

  • 安全配置错误漏洞的防范措施

    • 自动化安装部署
    • 及时了解并部署每个环节的软件更新和补丁信息
    • 实施漏洞扫描和安全审计

2.7 跨站脚本攻击(XSS)

  • 跨站脚本攻击(XSS)漏洞含义:
    当应用程序的新网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建HTML或JavaScript 的浏览器API 更新现有的网页时,就会出现XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点

  • 跨站脚本攻击(XSS)漏洞危害
    攻击者在受害者浏览器中执行脚本以劫持用户会话,插入恶意内容,重定向用户,使用恶意软件劫持用户浏览器等

  • 跨站脚本攻击(XSS)漏洞类型

    • 存储型
    • 反射型
    • DOM型
  • 跨站脚本攻击(XSS)漏洞防范措施

    • 验证输入
    • 编码输出(用来确保输入的字符被视为数据,而不是作为html被浏览器所解析)

2.8 不安全的反序列化

不安全的反序列化会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,攻击者也可以利用它们来执行攻击,包括:重播攻击、注入攻击和特权升级攻击。

2.9 使用含有已知漏洞的组件

组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用,可能会造成严重的数据丢失或服务器接管。同时,使用含有已知漏洞的组件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。

  • 防范措施
    • 识别正在使用的组件和版本,包括所有的依赖
    • 更新组件或引用的库文件到最新
    • 建立安全策略来管理组件的使用

2.10 不足的日志记录和监控

不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超过200天,且通常通过外部检测方检测,而不是通过内部流程或监控检测。

感谢充电鼓励与支持

在这里插入图片描述

你可能感兴趣的:(安全测试,安全测试)