网络安全入门必知的OWASP top 10漏洞详解

这篇具有很好参考价值的文章主要介绍了网络安全入门必知的OWASP top 10漏洞详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

OWASP项目最具权威的就是其“十大安全漏洞列表”(OWASPTop 10),OWASP Top 10不是官方文档或标准,而只是一个被广泛采用的意识文档,被用来分类网络安全漏洞的严重程度,目前被许多漏洞奖励平台和企业安全团队评估错误报告。这个列表总结了Web应用程序最可能、最常见、最危险的十大漏洞,可以帮助IT公司和开发团队规范应用程序开发流程和测试流程,提高Web产品的安全性。

1、注入
(1)注入的概念
 注入通常是指:将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。
(2)注入的分类
 通常注入有sql注入和os(Operating System)注入

SQL注入:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。
sql注入的防御
   1:对输入进行严格的转义和过滤。
   2:数据类型进行严格定义,数据长度进行严格规定。
   3:通过waf设备启用防止sql注入的策略。
   4:严格限制网站访问数据库的权限。

os注入:Web开发所使用的编程语言中,大多数都能通过Shell执行OS(操作系统)命令。通过Shell执行OS命令时,或者开发中用到的某个方法其内部利用了Shell时,就有可能出现OS命令被任意执行的情况。这种现象被称为OS命令注入。
os注入的防御
   1:使用安全的函数对传递给OS命令参数进行转义。
   2:不将外界输入的字符串传递给命令行参数。
   3:选择不调用OS命令的实现方法。

不调用利用shell的功能,既能杜绝了OS命令注入漏 洞混入的可能性,又消除了调用OS命令的而系统开销,能够从多方面提高应用的性能。

2、敏感数据泄露
(1)介绍
 近年来,敏感数据泄露已经成为了一最常见、最具影响力的攻击,一般我们的敏感信息包括密码、财务数据、医疗数据等,由于web应用或者API未加密或不正确的保护敏感数据,这些数据极易遭到攻击者利用,攻击者可能使用这些数据来进行一些犯罪行为,因此,未加密的信息极易遭到破坏和利用,不久前就爆出过Facebook泄露了用户的大量信息,以及12306也多次泄露用户的信息。现在信息泄露已经成为了owasp top 10中排名前三的漏洞之一,可想而知敏感信息泄露现在已经成为十分严重的问题。

(2)防御
1:对系统处理、存储或传输的数据分类,并根据分类进行访问控制。
2:对重要数据进行加密存放,数据在传输过程中使用密文进行传输。
3:及时清理没有用的敏感数据,只能使用指定用户访问敏感数据。

3、失效的身份认证
(1)介绍
 通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者暂时或永久的冒充其他用户的身份。

身份认证:身份认证最常用于系统登录,形式一般为用户名加密码的登录方式,在安全性要求较高的情况下,还有验证码、客户端证书、Ukey等。
会话管理:HTTP利用会话机制来实现身份认证,HTTP身份认证的结果往往是获得一个令牌并放在cookie中,之后的身份识别只需读取授权令牌,如果授权令牌认证成功,那么就无需再次进行登录认证。

(2)防御
防御失效身份和会话管理的方法
1:区分公共区域和受限区域:站点的公共区域允许匿名用户访问,但是站点的受限区域只允许指定用户访问。
2:支持密码的有效期:向用户提供可以在一段时间后修改密码的功能。
3:能够禁用账户:在收到攻击后可以禁用账户来避免遭受进一步的损失。
4:要求用户使用强密码。
5:不要在网络上以纯文本方式传输用户名和密码:使用SSL对数据流进行加密,也可以对cookie进行加密。

4、跨站脚本(xss)
(1)介绍
 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表CSS(Cascading Style Sheets)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击!

(2)分类
 XSS分为三类:反射型XSS、存储型XSS、DOM型XSS

(3)原理
 存储型XSS:存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,插入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie。
 反射型XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。
 DOM型XSS:不经过后端,DOM-XSS漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞,攻击者向服务器发送一个带有恶意JS代码的请求,服务器的响应不会以任何形式包含攻击者的脚本。当用户的浏览器处理这个响应时,DOM对象就会处理XSS代码,导致存在XSS漏洞。

(4)防御
1:存储型: 后台编写过滤器,对一些html标签和特殊的字符进行转义。
2:反射型:特殊字符的转义。
3:DOM型:检查是否包含一些特殊的函数可以造成危害的地方。
4:对于截取cookie的XSS的防御可以在cookie上添加HttpOnly。

5、外部实体(XXE)
(1)介绍
 XXE(XML External Entity Injection)外部实体注入漏洞,XML在引用外部实体是的时候,攻击者可以构造恶意的XML代码,以造成任意文件读取、命令执行甚至是中断服务器。

XML用于标识电子文件使其具有结构性的标识语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声名、DTD文档类型定义、文档元素。

(2)防御
1:使用开发语言提供的禁用外部实体的方法。
2:过滤用户提交的XML数据。

6、安全配置错误
(1)介绍
 安全配置错误是比较常见的漏洞,由于操作者的不当配置(默认配置,临时配置,开源云存储,http标头配置,以及包含敏感信息的详细错误),导致攻击者可以利用这些配置获取到更高的权限,安全配置错误可以发生在各个层面,包含平台、web服务器、应用服务器、数据库、架构和代码。

(2)防御
1:使用的服务不包含任何不必要的功能、组件、文档和示例,移除或不安装不适用的功能和框架。
2:及时检测系统服务版本,为已发现的漏洞打补丁。
3:在对文件等分配权限时,根据其工作需要采取最小权限原则的方法。
4:自动化安装部署。
5:实施漏洞扫描和安全审计。

7、失效的访问控制
(1)介绍
 访问控制:即保护资源不被非法访问和使用,目前应用最多的是基于角色的访问控制机制。失效的访问控制就是攻击者通过各种手段提升自己的权限,越过访问控制,使访问控制失效,这样攻击者就可以冒充用户、管理员或拥有特权的用户,或者创建、访问、更新或删除任何记录。

(2)防御
1:除公有资源外,其他资源默认情况下拒绝访问。
2:使用一次性的访问控制机制,并在整个应用程序中不断重用它们。
3:建立访问控制模型以强制执行所有权记录,而不是接受用户创建、读取、更新或删除的任何记录。
4:当用户注销后,服务器上的JWT令牌应失效。

8、不安全的反序列化
(1)介绍
 序列化:序列化 (Serialization)是将对象的状态信息转换为可以存储或传输(一般是以二进制的形式保存)的形式的过程。
 反序列化: 与序列化的过程刚好相反。

(2)原理
 序列化即是把对象转变为字节流,存放在内存、文件数据库中,而反序列化即是把字节流转变为对象。在java中有一个 ObjectOutputStream 类的writeobject方法可以实现序列化,而 ObjectInputStream 类的Readobject方法可以实现反序列化。该漏洞的原因出自于如果应用对恶意构造的用户输入的数据进行反序列化,这样就会产生非预期的对象,从而有可能产生远程代码执行。或者应用中存在可以在反序列化过程中或者之后被改变行为的类,则攻击者可以通过改变应用逻辑或者实现远程代码执行攻击。我们将其称为对象和数据结构攻击。

(3)防御
1:最安全的方法是不接受来自不受信源的序列化对象,或使用只允许原始数据类型的序列化媒体。
2:反序列化之前,先进行严格的数据类型校验。由于校验规则容易被攻击者探索出来,进而容易被绕过,因此防御不能仅依赖这一个手段,但可以作为完整性校验防御方案的补充。
3:隔离运行那些在低特权环境中反序列化的代码。
4:对反序列化过程进行详尽的日志记录,监控反序列化过程,在发现疑似反序列化攻击时进行警报。

9、使用含有已知漏洞的组件
(1)介绍
 由于现在的服务器都需要使用很多的组件,组件(例如:库、框架和其他软件模块)运行和应用程序相同的权限。如果使用含有已知漏洞的组件,这样的攻击可以造成严重的数据丢失或服务器接管。使用含有已知漏洞的组件的应用程序和API,可能会破坏应用程序防御、造成各种攻击并产生严重影响。
(2)防御
1:识别正在使用的组件和版本,包括所有的依赖。
2:更新组件或引用的库文件到最新。
3:建立安全策略来管理组件的使用。

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

日志记录:日志记录是一个系统的最重要的功能之一。日志记录包括登录成功记录、登录失败记录、访问控制记录等,用来记录服务器的各种信息。

(2)防御
1:确保所有登录、访问控制失败、输入验证失败能够被记录到日志中去,并保留足够的用户上下文信息,以识别可疑或恶意帐户,并为后期取证预留足够时间。
2:建立有效的监控和告警机制,使可疑活动在可接受的时间内被发现和应对。
3:完善日志系统,使其可以监控各种日志信息。
4:及时对日志系统进行备份,并保存足够长时间。

OWASP TOP 10漏洞是4年更新一次,本次OWASP TOP 10更新的时间是2021年
————————————————
版权声明:本文为CSDN博主「AnQTroops」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_46694260/article/details/121707869文章来源地址https://www.toymoban.com/news/detail-715646.html

到了这里,关于网络安全入门必知的OWASP top 10漏洞详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TWO DAY | WEB安全之OWASP TOP10漏洞

    TWO DAY | WEB安全之OWASP TOP10漏洞 OWASP:开放式Web应用程序安全项目(Open Web Application Security Project),OWASP是一家国际性组织机构,并且是一个开放的、非盈利组织,它致力于协助政府、企业开发、升级各类应用程序以保证其可信任性。所有OWASP的工具、文档、研讨以及所有分会都对

    2024年02月12日
    浏览(44)
  • WEB十大安全漏洞(OWASP Top 10)与渗透测试记录

            每年 OWASP(开放 Web 应用程序安全项目)都会发布十大安全漏洞。它代表了对 Web 应用程序最关键的安全风险的广泛共识。了解十大WEB漏洞种类并善于在渗透测试中发现漏洞是安全行业人员的基本要求。 1.失效的访问控制 2.加密机制失效 3.注入 4.不安全的设计 5.安

    2024年02月02日
    浏览(59)
  • 自学网络安全(白帽黑客)必看!OWASP十大漏洞解析!

    在学习网络安全之前,需要总体了解安全趋势和常见的Web漏洞,在这里我首推了解OWASP,因为它代表着业内Web安全漏洞的趋势; 目录 一、OWASP简介 OWASP Top 10: 2013版至2017版改变了哪些内容 二、OWASP Top 10 A1:注入漏洞 A2:失效的身份认证 A3:敏感数据泄露 A4:XML 外部实体漏洞(XXE)

    2024年02月10日
    浏览(47)
  • 安全从业人员必知的法律法规解读

    目录 一、我国法律体系及主要监管机构 二、《网络安全法》相关解读

    2024年02月14日
    浏览(48)
  • 后端开发必知的11个线程安全小技巧

      对于从事后端开发的同学来说,线程安全问题是我们每天都需要考虑的问题。   线程安全问题通俗地讲主要是在多线程的环境下,不同线程同时读和写公共资源(临界资源)导致的数据异常问题。   比如:变量a=0,线程1给该变量+1,线程2也给该变量+1。此时,线程3获取

    2024年02月15日
    浏览(42)
  • OWASP Top 10

    OWASP (Open Web Application Security Project) Top 10 是指现在最常见的Web应用程序安全风险清单,该清单是OWASP组织的一份关于Web应用程序安全方面的指南。 OWASP Top 10 最新版本为 2017 年发布。其中包括的风险如下: 注入攻击 (Injection) 注入攻击是指攻击者通过恶意输入,将攻击代码插入

    2024年02月06日
    浏览(53)
  • 【推荐】网络安全10本入门必看书籍

    对于初学者来说,了解网络安全的入门知识是非常重要的。以下是我推荐的10本入门网络安全必看的书籍 作者:余洪涛,出版社:清华大学出版社 这本书是网络安全初学者入门的好选择。书中讲解了黑客攻击和防御的基本知识和技术,包括端口扫描、漏洞利用、木马病毒、网

    2024年02月13日
    浏览(66)
  • OWASP TOP 10漏洞分析

    1.注入 - Injection 2.跨站脚本 - (XSS) 3.失效的验证和和会话管理 4.不安全的直接对象访问 5.跨站请求伪造 - (CSRF) 6.不正确的安全设置 7.不安全的加密存储 8.URL访问限制缺失 9.没有足够的传输层防护 10.未验证的重定向和跳转 一、注入-Injection 1、虽然还有其他类型的注入攻击

    2024年02月09日
    浏览(102)
  • Owasp Top10 漏洞解析 之注入

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

    2024年02月04日
    浏览(40)
  • OWASP TOP 10 之敏感数据泄露

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

    2024年02月03日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包