自学网络安全 or Web安全,一般人我还是劝你算了吧

由于我之前写了不少网络安全技术相关的文章,不少读者朋友知道我是从事网络安全相关的工作,于是经常有人私信问我:

我刚入门网络安全,该怎么学?  

要学哪些东西?
有哪些方向?
怎么选?
这一行职业前景如何?

废话不多说,先上一张路线图,看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西。在这里插入图片描述

在这个圈子技术门类中,工作岗位主要有以下三个方向:

    安全研发  

安全研究:二进制方向
安全研究:网络渗透方向

下面逐一说明一下。
第一个方向:安全研发

你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分析等等,不过除了这类通用开发岗位,还有一部分与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型:

    做安全产品开发,做防  

做安全工具开发,做攻
防火墙、IDS、IPS
WAF(Web网站应用防火墙)
数据库网关
NTA(网络流量分析)
SIEM(安全事件分析中心、态势感知)
大数据安全分析
EDR(终端设备上的安全软件)
DLP(数据泄漏防护)
杀毒软件
安全检测沙箱

总结一下,安全研发的产品大部分都是用于检测发现、抵御安全攻击用的,涉及终端侧(PC电脑、手机、网络设备等)

开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈为主,也有少部分的GoLang、Rust。

安全研发岗位,相对其他两个方向,对网络安全技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一无所知。在这种情况下,如果除了基本的开发功底以外,对网络安全技术有所了解,自然会是你面试这些岗位时的加分项。
第二个方向:二进制安全

二进制安全方向,这是安全领域两大技术方向之一。

这个方向主要涉及到软件漏洞挖掘、逆向工程、病毒木马分析等工作,涉及操作系统内核分析、调试与反调试、反病毒等技术。因为经常都是与二进制的数据打交道,所以久而久之用二进制安全来统称这个方向。

这个方向的特点是:需要耐得住寂寞。

比不上安全研发可以有实实在在的产品输出,也比不上网络渗透方向听起来的狂拽炫酷,这个方向更多时间是在默默的分析和研究。

以漏洞挖掘为例,光是学习五花八门的攻击手法就需要花不少的时间。在这个领域,为了研究一个问题,可能花费数月甚至数年时间,这绝非一般人能坚持下来的。不仅如此,不是勤奋就可以成功,更多还要靠天分。

像腾讯几大安全实验室的掌门人,业界知名的TK教主、吴石这些人物,他们已经深谙漏洞挖掘的奥义,并将这门绝技融会贯通,做个梦都能想到新的玩法。不过像这样的天才实在是少之又少,绝大多数人都无法企及。

如果说程序员是苦逼的话,那二进制安全研究就是苦逼Plus
第三个方向:网络渗透

这个方向更符合于大部分人对“黑客”的认知,他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网,万物皆可黑。

相比二进制安全方向,这个方向初期更容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。

不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就多了。

网络渗透的方向更偏向于“实战”,因此对技术在广度上有更高的要求,从网络硬件设备、网络通信协议、网络服务(web、邮件、文件、数据库等)、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家,将各种技术融会贯通,以用于“实战”。

下面开始说说学习路线的问题,内容有点长,可以先点个赞,这样不迷路及时找得回来哦。

在这里插入图片描述

在这张图路线图中,一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣。

下面的内容,一定要结合上面这张图看效果才最好,建议在浏览器中新建一个tab页面,打开那张图,结合着看。
一、石器时代

第一个阶段——石器时代,针对的是纯新手小白刚刚入场。在这个阶段,主要是打基础,需要学习的有五部分内容:

在这里插入图片描述

1、Windows

Windows上基础的一些命令、PowerShell的使用和简单脚本编写,以及Windows以后经常会打交道的几个重要组件的使用:注册表、组策略管理器、任务管理器、事件查看器等。

除此之外,学习在Windows上面搭建虚拟机,学会安装系统,为接下来学习Linux做准备工作。

网络安全,必然要与Linux经常打交道,我看到很多新人一上来就跟着一些培训班学习Kali,学的云里雾里的。连基本的Linux概念都没建立起来,就急着学Kali,这属于还没学会走路就去学跑步,本末倒置了

在基础阶段,主要以使用为主,学习文本编辑、文件、网络、权限、磁盘、用户等相关的命令,对Linux有一个基本的认知。
2、计算机网络

网络安全,计算机网络肯定是非常重要的存在。作为基础阶段,这一小节主要从宏观上学习计算机网络,而不是死扣某一个协议的某些字段意义。

首先从局域网出发,了解计算机通信的基本网络——以太网,局域网内是如何通信的?集线器、交换机有什么区别?MAC地址、IP地址、子网、子网掩码分别是做什么用的?

随后引出更大的广域网、互联网,什么是网络通信协议,通信协议分层的问题,通过七层和四层模型快速建立起计算机网络的基础概念,各层协议的作用,分别有哪些协议,这些协议在当今的互联网中具体是怎么应用的。
3、Web基础

网络渗透中非常重要的一个组成部分就是Web安全,要学习Web安全,得先从Web前端基础开始入手。

这一小节非常简单,就是学习最原始的Web前端三板斧:HTML+CSS+JS的开发使用,为将来学习Web相关的安全知识打下基础。

这一小节是相对偏实际动手多一些,需要自己多动手进行一些网页编程,尤其是JavaScript的熟悉掌握,了解Ajax是什么东西,常用的jQuery库也学习一下,这都是Web前端中非常基础和常用的内容。
4、数据库基础

基础阶段的最后一部分,可以来接触一些数据库的基础知识了。

这个阶段主要学一些理论知识,重点掌握库、表、索引等概念,然后学习SQL的编写,学会增删改查数据。暂时不用编程来操作数据库。
二、青铜时代

度过了石器时代,你已经储备了一些计算机的基础知识:操作系统的使用,网络协议,前端基础,数据库初识,但这距离做网络安全还不够,在第二个青铜阶段,你还需要再进一步学习基础,在第一阶段之上,难度会开始慢慢上升。

这一阶段需要学习的知识有:
1、Web进阶

在前面的石器时代,咱们初步接触了网页编程,了解了网页的基本原理。不过那时候是纯前端的,纯静态的网页,没有接触后端。在这个进阶的阶段,你要开始接触Web后端的内容了。

首先从常用的两大主流Web服务器出发,学习Apache和Linux的基本知识,随后引出动态网页的基本原理,从CGI/Fast-CGI过渡到后来的ASP/PHP/ASPX/JSP等动态网页技术,了解它们的发展历史,演变过程和基础的工作原理。

最后再学习一些Web开发中的基础知识:表单的操作、Session/Cookie、JWT、LocalStorage等等,了解这些基本的术语都是什么意思,做什么用,解决了什么。
2、PHP编程

学习Web后端开发,得搭配学习一个后端开发语言才行。在这一小节,选择从PHP入手。

不过要记住,这里选择PHP不是让你以后从事PHP的后端开发,也不是说PHP现在有多流行,而是特定历史背景下,PHP相关的网站安全问题非常具有代表性,选择这门语言更方便我们研究安全问题。

由于学习的目的不同,所以在学习方法上和普通的后端开发就有所不同了。在这里咱们学习一下语法基础,基本的后端请求处理,数据库访问,然后再接触一下常用的ThinkPHP框架即可,当然如果你有兴趣,学的更深入当然更好。
3、计算机网络进阶

第二阶段需要再充实一下计算机网络的学习。这一次,重点把精力放在HTTP/HTTPS以及抓包分析之上。

Linux上的tcpdump必须掌握,包括常见的参数配置。然后重点学习Wireshark分析数据包,用Fiddler抓取分析加密的HTTPS流量。

通过在抓包软件下查看通信流量,对计算机网络的认识从抽象变得具象。
4、加解密技术

接着,来了解一些网络安全领域内经常打交道的编解码技术和加解密技术。包括base64编码、对称加密、非对称加密、哈希技术等等。

了解它们基础的概念、做什么用的,解决什么问题,最后再了解下工作原理。

推荐书籍:《加密与解密》
三、白银时代

现在进入第三个阶段——白银时代,激动人心的时刻就要到来了,在这个阶段,我们开始全面学习真正的网络安全技术了,前面两个阶段打下的基础,在这个阶段,也将派上用场。

这一阶段需要学习的知识有: 在这里插入图片描述

【一一帮助安全学习,所有资源获取处一一】

①网络安全学习路线

②20份渗透测试电子书

③安全攻防357页笔记

④50份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年CTF夺旗赛题解析

1、Web安全入门

有了前面的Web前端和PHP编程的基础,可以来正式学习Web安全了。Web安全领域内几大典型的攻击手法:SQL注入、XSS、CSRF、各种注入、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。

千万注意别拿互联网上的网站来攻击学习,这是违法的行为。自己可以在虚拟机中搭建一些包含漏洞的网站(网络上有很多可以下载来玩),拿自己建的网站练手。
2、网络扫描与注入

前面学习了一些Web安全的攻击手法,但光有这些还不够,当我们面对攻击目标后,如何寻找攻击点,获取目标的信息至关重要。

这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段,拿下目标。

常见的网络信息扫描包括端口扫描、网站后台扫描、漏洞扫描等等。需要学习常用的扫描工具以及它们的工作原理。
3、信息搜集 & 社会工程学

除了上面需要扫描的信息,在网络安全中,经常还需要调研很多信息,比如网站的注册信息、相关联的人物、网站内部的内容检索等等。这就需要学习掌握信息搜集和社会工程学的相关技术。

whois信息用来查询域名信息,shodan、zoomeye、fofa等网络空间搜索引擎检索IP、域名、URL等背后的信息,Google Hacking利用搜索引擎来检索网站内部信息,这些东西都是在网络信息搜集中经常用到的技能。
4、暴力破解

在网络攻击中,当扫描到目标开放的服务后,最直接的就是想要登录进去。常见的服务有SSH、RDP、MySQL、Redis、Web表单等等。

这个时候,暴力破解通常会派上用场,通过使用各种服务常见用户名密码组成的字典,通过程序暴力破解。

常用的爆破工具有hydra、超级弱口令,另外还有一个mimikatz,常用来获取Windows系统的密码。
四、黄金时代

上一个阶段,学习了一些安全攻击技术,在这一个阶段,需要学习一下安全防御和安全检测技术,安全具有攻防两面性,缺一不可。

在这里插入图片描述

1、WAF技术

首先要学习的就是WAF——Web应用防火墙。

Web安全学习的是通过Web技术攻击计算机系统,WAF就是检测和防御这些安全攻击。正所谓知己知彼才能百战百胜,作为攻方,要掌握WAF的工作原理,找到弱点绕过检测,作为守方,需要不断加强安全检测和防御能力,有效的发现和抵御Web攻击。

需要学习当下主流的WAF软件所采用的架构比如openresty、modsecurity,以及主要的几种检测算法:基于特征的、基于行为的、基于机器学习的等等。
2、网络协议攻击 & 入侵检测

WAF主要针对的是Web相关的安全攻击,到这一小节,将视野进一步拓展到整个网络协议栈,TCP劫持、DNS劫持、DDoS攻击、DNS隧道、ARP欺骗、ARP泛洪等等,需要掌握这些传统经典攻击手段的原理,搭建环境实践,为后续的内网渗透打下基础。

另外作为防守的一方,还需要学习通过网络流量分析技术来进行安全检测,了解常用的网络分析技术,检测框架,规则语法,对以后从事安全相关开发或安全防御工作进行储备。
3、日志技术

通过日志来发现攻击行为是一种最常见的行为,攻击者的Web请求,系统登录,暴力破解尝试等等都会被系统各种软件记录在案,攻击者得手后也经常会抹除相关的日志记录,所以学习掌握这些日志,是攻防两队的人都需要学习的技能。

常见的日志有系统登录日志(Windows、Linux)、Web服务器日志、数据库日志等等。
4、Python编程

在这个阶段,是时候来学习一些Python编程开发了。虽然网络安全不用经常做大量的工程开发,但掌握基本的编程能力,可以用来编写爬虫、数据处理、网络扫描工具、漏洞POC等等,都是非常有用的,而众多编程语言中,Python无疑是最适合的。
5、浏览器安全

这个阶段的最后一部分,来学习了解一些浏览器侧的安全知识,夯实Web安全中与浏览器相关的漏洞攻击。

需要重点掌握IE、Chrome两款最主流的浏览器特性,浏览器的沙盒机制是什么,同源策略和跨域技术等等。
五、铂金时代
1、第三方组件漏洞

前面Web安全相关的攻击都是一些很多年的经典手法了,经过多年的发展已经相当成熟,相关的漏洞早已不如以前多,现在很多时候的攻击,都是依靠各种各样的第三方组件漏洞完成的,所以学习研究这些常见第三方组件的漏洞,一方面掌握这些攻击手法用于实战中使用,另一方面触类旁通,对从事漏洞挖掘的工作也是非常有帮助的。

研究的对象主要涵盖目前互联网服务中实际使用的一些工程组件,比如Java技术栈系列Spring全家桶、SSM、Redis、MySQL、Nginx、Tomcat、Docker等等。

在这里插入图片描述

2、内网渗透

网络渗透中,攻下一个点后,只是一个开始,攻入以后如何转移,控制更多的节点,是内网渗透研究学习的范畴。典型的如当年的永恒之蓝病毒,通过SMB协议漏洞,快速扩散传播,造成了大面积的中招。

内网渗透中要学的东西既多且杂,难度要上升不少,但这是做网络渗透的非常重要的一块儿,必须多啃一啃。这一部分理论较少,偏实战性多一些,需要多搭建环境模拟学习。
3、操作系统安全技术 & 提权技术 & 虚拟化技术

通过web等手段渗透进入计算机后,由于各种限制原因,经常会有提权的需求,还会涉及到许多跟操作系统安全机制紧密相关的内容,所以学习一些操作系统的安全知识也是非常有必要的。

像Windows、Linux上各自的权限管理机制,提权方法和常用的漏洞,工具等等

​最后

为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包。

😝有需要的小伙伴,可以点击下方链接免费领取

【一一帮助安全学习,所有资源获取处一一】

①网络安全学习路线

②20份渗透测试电子书

③安全攻防357页笔记

④50份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年CTF夺旗赛题解析

1️⃣零基础入门

① 学习路线

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

② 路线对应学习视频

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

在这里插入图片描述

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

2️⃣视频配套资料&国内外网安书籍、文档

① 文档和书籍资料

② 黑客技术

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

如果你对网络安全入门感兴趣,需要的话可以在下方

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

4️⃣网络安全面试题

5️⃣汇总

所有资料 ⚡️ ,朋友们如果有需要全套 《网络安全入门+进阶学习资源包》,扫码获取~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/30212.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《OKR工作法》读书笔记

花了两个晚上的时间看完了《OKR工作法》这本书,谈不上有什么感想,因为工作后,其实就一直在用这种方法,所谓当局者迷嘛,习以为常也就谈不上多少新的启发。所以,这篇文章纯粹是一篇读书笔记,把我认…

【STM32】矩阵计算器

【STM32】矩阵计算器 资料链接请在文章末尾获取~ 1.说明 使用元器件:stm32f103c8t6最小系统板x1,0.96寸OLED显示屏四角x1,4x4矩阵按键x1; 参考:正点原子有关4脚OLED驱动float型数据的驱动文件,CSDN有关矩阵横向扫描…

数据模型——饮食记录

数据模型——饮食记录 本次实验完成饮食记录的数据模型,如下图所示 该饮食记录模型与上次的记录项数据模式定义处理方式相同,我们首先分析其数据结构,我们发现首先有早餐、午餐、晚餐等记录类型数据模型,其包括了id、类型名称、类…

AI人工智能产品经理,就该这么学!

前言 想入行AI人工智能产品经理,该如何学习呢? 随时AI的兴起,AI产品经理开始爆火,很多功能性产品经理想转行做AI产品经理。转行的原因,这个仁者见仁智者见智。唯一的共同点就是,大家都看好AI行业的发展前景…

Java 诊断神器 Arthas使用笔记

Arthas 是一款开源在线 Java 诊断工具,采用命令行交互模式,支持 web 端在线诊断,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。得益于 Arthas 强大且丰富的功能。 1.JDK原生定位工具 平时开发中会用到JDK中…

edge如何找包已经安装的插件。

我的目录:C:\Users\Administrator\AppData\Local\Microsoft\Edge\User Data\Default\Extensions 如图: 如何我要打包如下图 注意iD的名字 多次操作选择到ID的目录,再向下。 如上图之后。打包。 显示成功 并提供地址。 找到相应地址&#x…

监控员工上网软件有哪些|4款好用的员工上网行为管理软件推荐

在当今数字化办公环境中,确保网络安全、提升工作效率、以及规范员工上网行为成为企业管理的重要组成部分。 为此,一套高效的员工上网行为管理软件显得尤为关键。 本文将为您推荐五款市场上广受好评的员工上网行为管理软件,帮助您有效监控与管…

linux离线安装chrony服务校准时间

基础环境 Linux forlinx 5.10.35 #53 SMP PREEMPT Thu Mar 30 01:04:19 CST 2023 aarch64 aarch64 aarch64 GNU/Linux chrony源码包 下载地址:https://download.tuxfamily.org/chrony/ 以chrony-4.5.tar.gz举例说明 详细步骤 1.解压chrony tar zxvf chrony-4.…

【Spine学习14】之 裁剪

1、新建裁剪 2、在页面中随便点几下 圈出对应位置 3、点编辑裁剪 或者按空格键 退出编辑模式, 页面就只剩下对应区域,这个区域可以任意拖动 放大缩小显示。 tips: 如果手动选择区域描绘不准确,可以启用对应图片的网格 然后复制…

无监督学习:从理论到实践的全面指南

本文深入讲解了无监督学习中的K-means、层次聚类、密度聚类、PCA、t-SNE和自编码器算法,涵盖其原理、数学基础、实现步骤及应用实例,并提供了详细的代码示例。 关注作者,复旦AI博士,分享AI领域全维度知识与研究。拥有10年AI领域研…

外链应该怎么做才有效?

做有效的外链,关键在于策略和执行,高质量的独立站外链就是一个不错的选择,确保是dofollow,每一条都被谷歌收录,并保证长期留存,至少一年以上,这种外链就是能发挥最大效果的外链,名为…

全新防关联技术出炉:亚马逊测评环境优化,下单成功率大提升

在竞争激烈的测评行业中,构建一个稳定且高效的环境系统成为了制胜的关键。然而,市场上现有的环境方案如虚拟机、模拟机、GCS、云手机、VPS等不仅成本高昂,而且面临着在风控严格的平台上如亚马逊难以逃脱检测的挑战,进而影响了测评…

Memory use report提示信息

Memory use report: Heap dump has been created at C:\Users\Administrator\AppData\Local\JetBrains\IntelliJIdea2021.3\tmp\hprof-temp\heapDump-idea-1718785956302.hprof. It will be analyzed next time you start IntelliJ IDEA.Memory use report提示信息 Memory use…

【两数之和】

两数之和 一、题目二、暴力解法三、哈希表四、map字典1.基本方法.set()添加键值对.get()通过键获取值.has()判断map是否有这个键 2.map和set的联系和区别共同点共同点MapSet 一、题目 二、暴力解法 三、哈希表 解题思路:将nums的元素依次以键值对的方式存储在map字典…

MacOS之解决:开盖启动问题(七十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

mysql中返回日期格式带有T、Java解决返回日期格式带 ‘T‘ 问题、MySQL查询日期为什么带T、java.util.Date()类型为什么有T

文章目录 一、场景描述:Mysql返回日期格式带有T二、解决方法2.1、方法一:通过注解格式化2.2、方法二:通过全局配置2.3、方法三:查询时手动转换时间格式 三、mysql 数据库时间类型数据为什么有T3.1、什么是ISO 8601格式 四、java中…

储备教师和正式教师的区别是什么?

当谈论教育行业的未来,是否曾想过,那些被称为"储备教师"的群体,与我们熟知的"正式教师"之间,有何本质的区别? 储备教师,顾名思义,是学校为了应对未来可能的教学需求而提前招…

Redis 集群 - 数据分片算法

前言 广义的集群:只要是多个机器构成了一个分布式系统,都可以被称为集群。 狭义的集群:redis 的集群模式,这个集群模式下,主要是解决存储空间不足的问题。 Redis 集群 redis 采用主从结构,可以提高系统的可…

cs144 LAB1 基于滑动窗口的碎片字节流重组器

一.StreamReassembler.capacity 的意义 StreamReassembler._capacity 的含义: ByteStream 的空间上限是 capacityStreamReassembler 用于暂存未重组字符串片段的缓冲区空间 StreamReassembler.buffer 上限也是 capacity蓝色部分代表了已经被上层应用读取的已重组数…

神火股份电子商务平台(数字化招采平台),构建企业数字活力

为推进数字化转型升级进程,神火股份携手信源信息建设电子商务平台,近日,该平台已实现验收,为企业高质量发展注入“数字活力”。 河南神火煤电股份有限公司(简称“神火股份”)是以煤炭、发电、电解铝生产及…