网络安全最新网安-入门1(1),腾讯架构师首发

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

安全观念

web安全简史

互联网本来是安全的,自从有了研究安全的人之后,互联网就变得不安全。

起初,研究计算机系统和网络的人被称为“Hacker”,他们对计算机系统有深入的理解,因此往往能够发现其中的问题。Hacker 在中国按照音译叫作“黑客”。在计算机安全领域,黑客是一群破坏规则、不喜欢拘束的人,因此总想着找到系统的漏洞,以获得一些规则之外的权力。对于现代计算机系统来说,用户态的最高权限是root(或Administrator),也是黑客们最渴望获取的系统最高权限。“root”对黑客的吸引,就像兔子对饿狼的吸引。

不想获取“root”权限的黑客,不是好黑客。漏洞利用代码能够帮助黑客达成这一目标。黑客使用的漏洞利用代码,被称为“exploit”。在黑客的世界里,有的黑客精通计算机技术,能自己挖掘漏洞并编写exploit;而有的黑客则只对攻击本身感兴趣,对计算机原理和各种编程技术的了解比较粗浅,因此只能使用别人的代码,自己并没有开发和创造能力,这种黑客被称为Script Kid”,即“脚本小子”。在现实世界里,真正造成破坏的,往往并非那些挖掘并研究漏洞的黑客,而是这些脚本小子。在今天已经形成黑色产业的计算机犯罪、网络犯罪中,造成主要破坏的,也是这些脚本小子。

黑客技术发展历程

在早期(2002年前),黑客的主要攻击目标是系统软件。一方面,是这个时期的web技术还远远不成熟;另一方面,则是因为通过攻击系统软件,黑客往往能够直接获取root权限。这段时期产生了非常多的经典漏洞以及exploit。

image-20240102104629050

在早期互联网上,web应用并非主流应用,相对来说,基于SMTP、POP3、FTP等协议的服务拥有绝大多数的用户。因此,黑客的主要攻击目标是网络、操作系统及软件等,Web安全领域的攻击与防御技术均处于非常原始的阶段。

相对于那些攻击系统软件的 exploit 而言,基于 Web 的攻击一般只能让黑客获取一个较低权限的账户,对黑客的吸引力远远不如直接攻击系统软件。

但是时代在发展,防火墙技术的兴起改变了互联网安全的格局,尤其是以 Cisco、华为等为代表的网络设备厂商,开始在网络产品中更加重视网络安全,最终改变了互联网安全的走向。防火墙、ACL 技术的兴起,使得直接暴露在互联网上的系统得到了保护。

比如一个网站的数据库,在没有保护的情况下,数据库服务的端口是允许任何人随意连接的。在有了防火墙的保护后,通过 ACL 可以只允许来自可信任来源的访问。这些措施在很大程度上保证了系统软件处于信任边界之内,从而杜绝了大部分的攻击来源。

2003 年的冲击波蠕虫是一个里程碑式的事件,这个针对 Windows 操作系统 RPC 服务(运行在 445 端口)的蠕虫,在很短的时间内席卷了全球,导致数百万台机器被感染,造成的损失难以估量。在此次事件后,网络运营商们很坚决地在骨干网络上屏蔽了 135、445 等端口的连接请求,而且整个互联网对于安全的重视达到了一个空前的高度。

在运营商的网络策略、企业防火墙的共同作用之下,暴露在互联网上的非 Web 服务越来越少,而web技术的成熟也使得越来越多的服务web应用化。最终,web成为互联网上的主流服务。黑客们的目光,也渐渐转移到了web这块大蛋糕上。

此外,近年来移动互联网和云计算的快速发展,也催生了移动安全和云安全等重要的分支,每一个分支单独来看都是一个大的领域,它们与web安全会有交叉的地方。

web安全的兴起

web攻击技术的发展可以分为几个阶段。在Web1.0时代,人们更多的是关注服务端动态脚本的安全问题,比如攻击者将一个可执行脚本(俗称webshell)上传道服务器上,从而获得权限。动态脚本语言的普及,以及web技术发展初期对安全问题认知的不足,导致很多web安全血案,也遗留下很多历史问题。比如,php语言至今仍然只能靠较好的 代码规范来保证没有文件包含漏洞,而无法从语言本身杜绝此类安全问题。

SQL 注入 (SQL Injection)的出现是 Web 安全史上的一个里程碑,它最早大概出现在 1999年,并很快就成为 Web 安全的头号大敌。就如同出现缓冲区溢出时一样,程序员们不得不夜以继日地修改程序中存在的漏洞。黑客们发现通过 SOL 注入漏洞,可以获取很多重要的、敏感的数据,甚至能够通过数据库获取系统访问权限,这种效果并不比直接攻击系统软件差,因此Web 攻击一下子就流行起来。SOL 注入至今仍然是 Web 安全领域的一个重要课题。

XSS 攻击(Cross-Site Scripting,跨站脚本攻击)的出现则是 Web 安全史上的另一个里程碑,实际上,XSS 攻击出现的时间和SQL 注入差不多,但是它真正引起人们重视大概是在 2003年以后。在经历了 MySpace 的XSS 蠕虫事件后,安全界对XSS 的重视程度提高了很多,OWASP2007 Top 10 威胁甚至把XSS 排在榜首。

伴随着 Web 2.0 的兴起,XSS、CSRF 等攻击已经变得更为强大。Web 攻击也从服务端转客户端,转向浏览器和用户。黑客们的攻击思路覆盖了 Web 的每一个环节,攻击形式变得更加多样化。

Web 应用变得越来越复杂,涌现出大量企业级应用标准和框架。最典型的是 Java 语言及其生态,Java 丰富的开源组件和日益复杂的技术栈,吸引了众多安全人员进行研究,漏洞挖掘和防御技术的深度都今非昔比,已经不能再用“脚本小子”来形容 Web 安全研究人员。

Web 技术发展到今天,构建出了丰富多彩的互联网。移动互联网的蓬勃发展,把 HTML5迅速引爆;云计算的快速普及,给应用的开发、部署和运维带来了全新的体验;浏览器厂商群雄逐鹿,把 Web 标准推向了新高度。与此同时,Web 安全技术也将紧跟互联网发展的脚步,不断地演化。

安全的本质

安全是什么? 在什么样的况下会产生安全问题?我们要如何看待安全问题? 只有弄清楚这些最基本的问题,才能明白攻击与防御技术的出发点,才能明白为什么我们要这样做或那样做。

在武侠小说中,真正的高手往往对武功有着最透彻、最接近本质的理解,达到了返璞归的境界。在安全领域认为搞明白了安全的本质,就好比学会了“独孤九剑”,天下武功万变不离其宗,遇到任何复杂的情况都可以轻松应对,任何安全方案也都可以信手拈来了。

那么,**一个安全问题是如何产生的呢?**我们不妨先从现实世界入手。在火车站、机场里在乘客们开始旅程之前,都有一个必要的程序: 安全检查。机场的安全检查,会扫描乘客的李箱,检查乘客身上是否携带了打火机、可燃液体等危险物品。抽象地说,这种安全检查,就是过滤掉有害的、危险的东西。因为在飞行的过程中,飞机远离地面,如果发生危险,将会接危及乘客的生命安全。因此,飞机是一个高度敏感和重要的区域,任何有危害的物品都不该进入这一区域。为了达到这一目标,登机前的安全检查就是一个非常有必要的步骤

从安全的角度来看,我们划分出不同重要程度的区域:通过安全检查(过滤、净化)过,可以梳理未知的人或物,使其变得可信任。被划分出来的具有不同信任级别的域,我们称为信任域;两个不同信任域之间的边界,我们称为信任边界。

数据从高等级的信任域流向低等级的信任域,是不需要经过安全检查的;数据从低等级的信任域流向高等级的信任域,则需要经过信任边界的安全检查。

我们在机场通过安检后,想要从候机厅出来,是不需要做检查的:但如果要再回到候机厅则需要再做一次安全检查,就是这个道理。

安全问题的本质是信任的问题

一切安全方案都是建立在信任关系上的。我们必须相信一些东西,必须有一些最基本的假设,安全方案才能得以建立;如果我们否定一切,安全方案就会如无源之水、无根之木,无法设计,也无法完成。

举例来说,假设我们有一份很重要的文件要好好保管,能想到的一个方案是把文件“锁”到抽屉里。这里就包含了几个基本的假设,首先,制作这把锁的工匠是可以信任的,他没有私自藏一把钥匙;其次,制作抽屉的工匠没有私自给抽屉装一个后门;最后,钥匙还必须保管在一个不会出问题的地方,或者交给值得信任的人保管。反之,如果我们一切都不信任,那么也就不可能认为文件放在抽屉里是安全的。

当制锁的工匠无法打开锁时,文件才是安全的,这是我们假设的前提之一。但是如果那个工匠私自藏有一把钥匙,那么这份文件也就不再安全了。这个威胁存在的可能性,依赖于对工匠的信任程度。如果我们信任工匠,那么在这个前提下,我们就能确定文件的安全性。这种对条件的信任程度,是确定对象是否安全的基础。

在现实生活中,我们很少设想极端的前提条件,因为极端的条件往往意味着小概率以及高成本。因此,在成本有限的情况下,我们往往会根据成本来设计安全方案,并将一些可能性较大的条件作为决策的主要依据。

由此看来,安全的本质又是一个概率问题。一个好的安全方案,需要在成本和攻击的概率之间做好平衡,这是一种艺术。如果将任何风险推至极端情况,将攻击概率放大,认为攻击是种必然事件,则安全方案将无从实施。一个好的安全方案,是在有限的时空范围中,对有限的资产所面临的有限威胁,给出一个遭受攻击的概率的断言,进而针对这一断言实施安全策略。其难度就好比你去医院看病,医生总是很难把话说得太绝对一样。计算机系统的安全问题和人类的身体健康问题类似,疾病的诊断方案总会有小概率事件,医生无法做出 100%的承诺。

比如,在设计物理安全方案时,需要根据不同的地理位置、不同的政治环境等,考虑台风地震、战争等因素。但在考虑、设计安全方案时,根据这些情况发生的可能性,需要确定不同的侧重点。如果机房位于大陆深处,考虑台风的因素则显得不太实际;同样的道理,在大陆板块稳定的地区,考虑地震的因素也会带来较高的成本。而极端的情况比如“彗星撞击地球后如何保证机房不受影响”的问题,一般都不在考虑之中,因为发生的可能性太小。

从另一个角度来说,一旦我们作为决策依据的条件被破坏、被绕过,那么安全方案所假设的前提条件就不再可靠,变成一个伪命题。因此,把握信任条件的度,使其恰到好处,正是设计安全方案的难点所在,也是安全这门学问的魅力所在

近年来安全产业界流行一个概念叫“零信任”,这是一个容易被混淆的概念。“零信任”的提出源自谷歌的内部安全团队出于安全上的考虑去除了网络边界防火墙,而将访问控制策略的粒度细化到每个员工和应用上,意为即便在公司内部,应用也默认不会信任内部的访问者,只有当访问者拥有合法的身份凭证和明确的授权时才能访问应用。“零信任”把网络访问的信任条件限制为可信的身份和明确的授权,很多时候还要求设备是可信的,所以在“零信任”中也存在信任条件。从安全设计的思想上来说,“零信任”是不存在的,如果什么都不信任,安全就无从谈起。

没有绝对的安全

安全是一个持续对抗的过程

自从互联网有了安全问题以来,攻击和防御技术就在不断碰撞和对抗的过程中得到发展。从微观上来说,在某一时期可能某一方占了上风;但是从宏观上来看,某一时期的攻击或防御技术,都不可能永远有效,永远用下去。这是因为防御技术在发展的同时,攻击技术也在不断发展,两者是互相促进的辩证关系。以不变的防御手段对抗不断发展的攻击技术,就犯了刻舟求剑的错误。在安全领域,没有银弹。

很多安全厂商在推销自己的产品时,会向用户描绘一些很美好的蓝图,似乎他们的产品无所不能,购买之后用户就可以高枕无忧了。但实际上,安全产品本身也需要不断升级,也需要有人来运营。产品本身也需要推陈出新,否则就会被淘汰。在现代的互联网产品中,自动升级功能已经成为一个标准配置,一个有活力的产品总是会不断地改进自身

微软在发布 Vista 时,曾信誓旦旦地保证这是有史以来最安全的操作系统。我们看到了微软的努力,Vista的安全问题确实比它的前辈们(Windows XP、Windows2000Windows 2003等)少了许多,尤其是高危的漏洞。但即便如此,在 2008 年的Pwn2own 竞赛上,Vista 也被黑客成功攻击。Pwn2own 竞赛是每年举行的允许黑客任意攻击操作系统的盛会,一般黑客们都会提前准备好 0day 漏洞的攻击程序,以求在会上一举夺魁。

黑客在不断地研究和寻找新的攻击技术,作为防御的一方,我们没有理由不持续跟进。微软近几年在产品安全上做得越来越好,其所推崇的安全开发流程将安全检查贯穿于整个软件生命周期。经过实践检验,这是一条可行的道路。对每一个产品,都要持续地实施严格的安全查,这是微软通过自身的教训传授给业界的宝贵经验。而安全检查本身也需要不断更新,增加针对新型攻击方式的检测与防御方案。

安全的三要素

要全面地认识一个安全问题,我们有很多种办法,但首先要理解安全问题的组成。前人通过无数实践,最后将安全的属性总结为安全三要素。安全三要素是安全的基本组成元素,分别是机密性 (Confidentiality)、完整性 (Integrity) 和可用性 (Availability),简称为 CIA

机密性要求数据内容不能泄露,加密是实现机密性要求的常见手段。

比如,在前面的例子中,如果文件不是放在抽屉里,而是放在一个透明的玻璃盒子里,那么虽然外人无法直接获取文件,但因为玻璃盒子是透明的,文件内容还是可能会被人看到,所以不符合机密性要求。但是如果给文件增加一个封面,掩盖文件内容,那么也起到了隐藏的效果,从而满足了机密性要求。可见,我们在选择安全方案时,需要灵活变通,因地制宜,没有一成不变的方案。

完整性则要求保证数据的内容是完整、没有被篡改的。常见的保证完整性的技术手段是数字签名。

传说清朝康熙皇帝遗诏中写的是“传位十四子”,结果被当时还是四阿哥的胤镇篡改,变成了“传位于四子”。我们姑且不论传说的真实性,在这个故事中,对遗诏的保护显然没有达到完整性要求。如果在当时有数字签名之类的技术,遗诏就很难被篡改。从这个故事也可以看出保护数据的完整性、一致性的重要意义。

可用性要求保证资源是“随需而得”的。

假设一个停车场里有 100 个车位,在正常情况下,可以停 100 辆车。但是某一天,有个坏人搬了 100 块大石头,把每个车位都占用了,导致停车场无法正常提供服务。在安全领域中,这种攻击叫作拒绝服务攻击(DenialofService,DoS)。拒绝服务攻击破坏的是安全的可用性。

在安全领域中,最基本的要素就是这三个,后来还有人想扩充,增加了诸如可审计性、不可抵赖性等,但最重要的还是以上三个要素。在设计安全方案时,也要以这三个要素为基本的出发点,全面地思考所面对的问题。

态势感知

这些年随着云计算、大数据和人工智能技术的进步,数据成为一种生产要素,安全方案的设计也与时俱进。其中最重要的变化趋势是“以数据为核心构建安全系统

安全是一个持续对抗的过程,必然存在攻防两方,而在大规模网络对抗过程中,能够快速根据攻防态势的变化进行决策和行动的一方,将在对抗过程中获得优势,因此可以借用军事上的一个术语“态势感知”来描述这种攻防对抗的能力。安全方案的设计目标,在新形势和新技术下,就变成“全面、快速、准确地感知敌我双方态势”。这里既包括“态”,即我方的资产漏洞和攻击面,敌方的威胁源和能力;也包括“势”,即我方动向、敌方动向、敌方的动机、敌方攻击的可能性,以及外部环境。因此,态势感知是一种实时的基于内外环境的综合研判。

通过数字化技术,可以对敌我双方和外部环境建立一套实时的数据沙盘,监控系统运行情况,模拟敌我双方动态和可能采取的策略,从而有针对性地进行有效防御。全面、快速、准确是对数据的要求,数字化是实施态势感知的关键,决定了防御系统的成败。因此,这种攻防的对抗也是对信息和情报收集能力的考验,掌握更多数据和信息的一方将获得胜利。一个好的态势威知系统甚至能做到对全互联网的准确实时监控,对暴露在互联网上的资产、端口进行大范围的感知。

在情报学中,一般将收集到的材料按照价值的高低分为数据、信息、知识和情报等四个层次。最基础的数据来自各个采集单元,它是没有组织形式的原始内容,如一串数字或字符,对数据进行汇总和治理,从中提取和推导出有价值、有意义的内容,就将数据转换为了信息;基于信息,我们可以提取出更抽象和通用的知识,知识之间有逻辑关系,可以进行推理;基于信息和知识,最终可以提炼出情报。情报是含金量最高的信息,是短时间内对于少数人有价值的信息,一般具有秘密性。安全攻防的对抗也是情报的对抗,在大数据时代,大数据和云计算的方法也开始被用于收集情报。

美国的 FireEye 公司最早提出了“威胁情报”的概念,该公司从一些蠕虫和木马后门的逆向分析开始,通过记录恶意程序的指纹,结合从互联网上采集到的信息,推测攻击者是什么黑客组织,源自哪里,惯用手法是什么,能力如何。此后,其他一些安全公司的威胁情报则来自共享的威胁源数据。随着部署的安全终端增加,当某一个终端被攻击后,所采集到的攻击者信息就成为威胁情报的一部分,被分发给其他未受攻击的终端进行防御。一些分布式的蜜罐系统或者探针系统,在互联网上部署了成千上万个点,用于采集攻击者信息,形成威胁情报。

随着对威胁情报研究的深入,另一家名为 MITRE 的公司提出了“攻击矩阵”-ATT &CK框架。黑客在攻击时一般会综合运用一系列技术,打的是一套组合拳。ATT & CK 框架尝试将每一种攻击方式还原为一个个原子步骤,将攻击的基本步骤结构化。建立 ATT& CK 框架是项繁杂的工作,需要具备丰富的攻防技术知识,但这项工作进一步完成了对攻击过程的数字化可以通过数据驱动来分析所有的攻击行为。

基于以上这些新的方式,尤其随着态势感知、威胁情报、数据化安全系统的出现,安全系统逐渐往自适应的智能化控制系统演进。当一个计算机系统的安全治理体系完成充分的数字化后,自动化控制就成为可能。目前出现的一些半人工的安全编排系统,就通过脚本语言的方式实现了对系统中各个安全设备、安全模块、安全策略的统一控制。如果安全系统朝自动化方向进一步演化,就会出现自适应的安全控制系统,这种系统就会表现出类似于人体免疫系统的能力。

HTTP和Web应用

HTTP协议

HTTP的全称是Hypertext transfer protocol,他是构建web应用的基础,虽然开发web应用大部分时候都不用关心http协议细节,但是如果未能正确的使用该协议,可能会带来安全隐患。HTTP协议设计的内容非常多,西面将简单介绍HTTP协议中和安全有关的知识。

HTTP协议简介

HTTP协议是一种Client-Server协议,所以只能由客户端单向发起请求,服务端再响应请求。这里的客户端也叫用户代理(User Agent),在大多数情景下是一个浏览器

img

HTTP请求

http通信由请求和响应组成,一个HTTP请求的数据包如下所示。(抓包演示)

image-20240106200030559

http请求方法

http方法用于指定请求的操作系统,标准的方法如下所示

方法用途
OPTIONS用于客户端向服务端询问是否支持特定的选项
GET向服务端获取URI指定的资源
HEAD和GET方法类似,但是服务端不返回实际内容
POST向服务端提交数据
PUT向指定的URL存储文件
DELETE删除URI指定的服务器上的文件
TRACE让服务器回显请求中的内容
CONNECT用户在HTTP协议中建立代理隧道

Web应用中的绝大部分请求使用的是GET和POST方法,通过XMLHttpRequest 可以发送HEAD、PUT、DELETE 方法的请求。在部分场景下,浏览器会发送OPTIONS 请求,用于预检。CONNECT 请求一般用于HTTP 隧道代理场景。

虽然 Web 应用中的一项功能,使用不同的HTTP方法都能实现,但出于安全考虑,我们要遵循如下基本原则:

(1)GET和HEAD方法应当只用于对服务端没有副作用的操作,即对服务端是“只读”的操作,它们被称为安全的方法。如果该操作对服务端会有副作用,比如增加、删除、更改数据,则应该使用别的 HTTP 方法。考虑到安全性,对于 GET 请求,浏览器在刷新页面时不会要求用户确认,而对于有副作用的 POST 请求,在刷新页面时浏览器会询问用户是否要重新发送,避免在服务端产生多余的操作,比如重复交易、重复下单等。

在这里插入图片描述

HEAD方法与GET方法的行为很类似, 但服务器在响应中只返回首部。不会返回实体的主体部分。这就允许客户端在未获取实际资源的情况下, 对资源的首部进行检查。使用HEAD, 可以: • 在不获取资源的情况下了解资源的情况(比如, 判断其类型) • 通过查看响应中的状态码, 看看某个对象是否存在, • 通过查看首部, 测试资源是否被修改了。 服务器开发者必须确保返回的首部与GET请求所返回的首部完全相同。遵循HTTP/1.1规范, 就必须实现HEAD方法。

img

(2)PUT和 DELETE 方法一般用于直接上传和删除文件,大部分 Web 应用不会用到,如果这两种方法被攻击者利用,危害会非常大。因此如无业务需求,应当禁用这些方法。与GET从服务器读取文档相反,PUT方法会向服务器写入文档。有些发布系统允许用户创建Web页面, 并用PUT直接将其安装到Web服务器上去。

image-20240106233629151

(3)在 Web 应用中,尽量通过 POST 方法提交敏感数据,而不是通过GET 方法提交。POST方法起初是用来向服务器输入数据的。实际上, 通常会用它来支持HTML的表单。表单中填好的数据通常会被送给服务器, 然后由服务器将其发送到它要去的地方(比如, 送到一个服务器网关程序中, 然后由这个程序对其进行处理)。

在这里插入图片描述

(4)在服务端获取请求参数时,应当明确指明是从GET参数还是 POST参数中获取,否则攻击者可将原本设计为用POST方法提交的操作改用GET方法提交,以绕过某些只针对POST请求设计的安全策略(如全局 CSRF 防御方案,我们将在第7 章详细介绍)。例如,在 PHP中尽量不要从 ∗ R E Q U E S T 中获取请求参数,而是明确指定从 *REQUEST中获取请求参数,而是明确指定从 REQUEST中获取请求参数,而是明确指定从* GET 或者$_POST中获取。

(5)TRACE 方法通常用于诊断调试,服务端直接返回请求中的内容,在 XSS 攻击中可用它绕过 Cookie的HttpOnly 策略,通过 JavaScript代码读取带有 HttpOnly 属性的 Cookie内容生产环境的服务器应当禁用TRACE方法。

客户端发起一个请求时, 这个请求可能要穿过防火墙、代理、网关或其他一些应用程序。每个中间节点都可能会修改原始的HTTP 请求。TRACE方法允许客户端在最终将请求发送给服务器时, 看看它变成了什么样子。TRACE请求会在目的服务器端发起一个“环回” 诊断。行程最后一站的服务器会弹回一条TRACE响应, 并在响应主体中携带它收到的原始请求报文。这样客户端就可以查看在所有中间HTTP应用程序组成的请求响应链上, 原始报文如何被毁坏或修改过。

在这里插入图片描述

TRACE方法主要用于诊断,也就是说, 用于验证请求是否如愿穿过了请求——响应链。它也是一种很好的工具,可以用来查看代理和其他应用程序对用户请求所产生效果。

尽管TRACE可以很方便地用于诊断, 但它确实也有缺点, 它假定中间应用程序对各种不同类型请求( 不同的方法–GET、HEAD、POST等) 的处理是相同的。很多HTTP应用程序会根据方法的不同做出不同的事情一比如, 代理可能会将POST请求直接发送给服务器, 而将GET请求发送给另一个HITP应用程序(比如Web缓存)。TRACE并不提供区分这些方法的机制。通常, 中间应用程序会自行决定对TRACE请求的处理方式。TRACE请求中不能带有实体的主体部分。TRACE响应的实体主体部分包含了响应服务器收到的请求的精确副本。

(6)HEAD方法和GET 方法所消耗的服务端计算资源是一样的,只是服务端对 HEAD请求的响应不会包含正文,所以网络出方向的带宽消耗不一样。在 DDoS 攻击中,攻击者可能使用HEAD方法发起攻击,让服务器的网络出方向带宽不超过告警阙值,对服务器实施应用层的DDoS攻击,耗尽服务器的计算资源。

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

网络安全面试题

绿盟护网行动

还有大家最喜欢的黑客技术

网络安全源码合集+工具包

所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值