给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就多了。
网络渗透的方向更偏向于“实战”,因此对技术在广度上有更高的要求,从网络硬件设备、网络通信协议、网络服务(web、邮件、文件、数据库等)、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家,将各种技术融会贯通,以用于“实战”。
下面开始说说学习路线的问题,内容有点长,可以先三连,这样不迷路及时找得回来哦。
学习路线
下面以网络渗透为例,看一下一个新手从零基础开始,要学哪些东西,以及具体的学习路线是什么?
先来一个大局图,从全局上整体把握:
在这张图路线图中,一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣。
下面的内容,一定要结合上面这张图看效果才最好,建议在浏览器中新建一个 tab 页面,打开那张图,结合着看。如果图片压缩不清晰,可以下载高清的思维脑图;
①网安学习路线高清思维脑图
②20 份渗透测试电子书
③安全攻防 357 页笔记
④50 份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100 个漏洞实战案例
⑧安全大厂内部教程
石器时代
第一个阶段——石器时代,针对的是纯新手小白刚刚入场。在这个阶段,主要是打基础,需要学习的有五部分内容:
Windows
Windows 上基础的一些命令、PowerShell 的使用和简单脚本编写,以及 Windows 以后经常会打交道的几个重要组件的使用:注册表、组策略管理器、任务管理器、事件查看器等。
除此之外,学习在 Windows 上面搭建虚拟机,学会安装系统,为接下来学习 Linux 做准备工作。
Linux
网络安全,必然要与 Linux 经常打交道,我看到很多新人一上来就跟着一些培训班学习 Kali,学的云里雾里的。连基本的 Linux 概念都没建立起来,就急着学 Kali,这属于还没学会走路就去学跑步,本末倒置了。
在基础阶段,主要以使用为主,学习文本编辑、文件、网络、权限、磁盘、用户等相关的命令,对 Linux 有一个基本的认知。
计算机网络
网络安全,计算机网络肯定是非常重要的存在。作为基础阶段,这一小节主要从宏观上学习计算机网络,而不是死扣某一个协议的某些字段意义。
首先从局域网出发,了解计算机通信的基本网络——以太网,局域网内是如何通信的?集线器、交换机有什么区别?MAC 地址、IP 地址、子网、子网掩码分别是做什么用的?
随后引出更大的广域网、互联网,什么是网络通信协议,通信协议分层的问题,通过七层和四层模型快速建立起计算机网络的基础概念,各层协议的作用,分别有哪些协议,这些协议在当今的互联网中具体是怎么应用的。
Web 基础
网络渗透中非常重要的一个组成部分就是 Web 安全,要学习 Web 安全,得先从 Web 前端基础开始入手。
这一小节非常简单,就是学习最原始的 Web 前端三板斧:HTML+CSS+JS 的开发使用,为将来学习 Web 相关的安全知识打下基础。
这一小节是相对偏实际动手多一些,需要自己多动手进行一些网页编程,尤其是 JavaScript 的熟悉掌握,了解 Ajax 是什么东西,常用的 jQuery 库也学习一下,这都是 Web 前端中非常基础和常用的内容。
数据库基础
基础阶段的最后一部分,可以来接触一些数据库的基础知识了。
这个阶段主要学一些理论知识,重点掌握库、表、索引等概念,然后学习 SQL 的编写,学会增删改查数据。暂时不用编程来操作数据库。
青铜时代
度过了石器时代,你已经储备了一些计算机的基础知识:操作系统的使用,网络协议,前端基础,数据库初识,但这距离做网络安全还不够,在第二个青铜阶段,你还需要再进一步学习基础,在第一阶段之上,难度会开始慢慢上升。
这一阶段需要学习的知识有:
Web 进阶
在前面的石器时代,咱们初步接触了网页编程,了解了网页的基本原理。不过那时候是纯前端的,纯静态的网页,没有接触后端。在这个进阶的阶段,你要开始接触 Web 后端的内容了。
首先从常用的两大主流 Web 服务器出发,学习 Apache 和 Linux 的基本知识,随后引出动态网页的基本原理,从 CGI/Fast-CGI 过渡到后来的 ASP/PHP/ASPX/JSP 等动态网页技术,了解它们的发展历史,演变过程和基础的工作原理。
最后再学习一些 Web 开发中的基础知识:表单的操作、Session/Cookie、JWT、LocalStorage 等等,了解这些基本的术语都是什么意思,做什么用,解决了什么。
PHP 编程
学习 Web 后端开发,得搭配学习一个后端开发语言才行。在这一小节,选择从 PHP 入手。
不过要记住,这里选择 PHP 不是让你以后从事 PHP 的后端开发,也不是说 PHP 现在有多流行,而是特定历史背景下,PHP 相关的网站安全问题非常具有代表性,选择这门语言更方便我们研究安全问题。
由于学习的目的不同,所以在学习方法上和普通的后端开发就有所不同了。在这里咱们学习一下语法基础,基本的后端请求处理,数据库访问,然后再接触一下常用的 ThinkPHP 框架即可,当然如果你有兴趣,学的更深入当然更好。
计算机网络进阶
第二阶段需要再充实一下计算机网络的学习。这一次,重点把精力放在 HTTP/HTTPS 以及抓包分析之上。
Linux 上的 tcpdump 必须掌握,包括常见的参数配置。然后重点学习 Wireshark 分析数据包,用 Fiddler 抓取分析加密的 HTTPS 流量。
通过在抓包软件下查看通信流量,对计算机网络的认识从抽象变得具象。
加解密技术
接着,来了解一些网络安全领域内经常打交道的编解码技术和加解密技术。包括 base64 编码、对称加密、非对称加密、哈希技术等等。
了解它们基础的概念、做什么用的,解决什么问题,最后再了解下工作原理。
推荐书籍:《加密与解密》
白银时代
现在进入第三个阶段——白银时代,激动人心的时刻就要到来了,在这个阶段,我们开始全面学习真正的网络安全技术了,前面两个阶段打下的基础,在这个阶段,也将派上用场。
这一阶段需要学习的知识有:
Web 安全入门
有了前面的 Web 前端和 PHP 编程的基础,可以来正式学习 Web 安全了。Web 安全领域内几大典型的攻击手法:SQL 注入、XSS、CSRF、各种注入、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。
千万注意别拿互联网上的网站来攻击学习,这是违法的行为。自己可以在虚拟机中搭建一些包含漏洞的网站(网络上有很多可以下载来玩),拿自己建的网站练手。
网络扫描与注入
前面学习了一些 Web 安全的攻击手法,但光有这些还不够,当我们面对攻击目标后,如何寻找攻击点,获取目标的信息至关重要。
这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段,拿下目标。
常见的网络信息扫描包括端口扫描、网站后台扫描、漏洞扫描等等。需要学习常用的扫描工具以及它们的工作原理。
信息搜集 & 社会工程学
除了上面需要扫描的信息,在网络安全中,经常还需要调研很多信息,比如网站的注册信息、相关联的人物、网站内部的内容检索等等。这就需要学习掌握信息搜集和社会工程学的相关技术。
whois 信息用来查询域名信息,shodan、zoomeye、fofa 等网络空间搜索引擎检索 IP、域名、URL 等背后的信息,Google Hacking 利用搜索引擎来检索网站内部信息,这些东西都是在网络信息搜集中经常用到的技能。
暴力破解
在网络攻击中,当扫描到目标开放的服务后,最直接的就是想要登录进去。常见的服务有 SSH、RDP、MySQL、Redis、Web 表单等等。
这个时候,暴力破解通常会派上用场,通过使用各种服务常见用户名密码组成的字典,通过程序暴力破解。
常用的爆破工具有 hydra、超级弱口令,另外还有一个 mimikatz,常用来获取 Windows 系统的密码。
黄金时代
上一个阶段,学习了一些安全攻击技术,在这一个阶段,需要学习一下安全防御和安全检测技术,安全具有攻防两面性,缺一不可。
WAF 技术
首先要学习的就是 WAF——Web 应用防火墙。
Web 安全学习的是通过 Web 技术攻击计算机系统,WAF 就是检测和防御这些安全攻击。正所谓知己知彼才能百战百胜,作为攻方,要掌握 WAF 的工作原理,找到弱点绕过检测,作为守方,需要不断加强安全检测和防御能力,有效的发现和抵御 Web 攻击。
需要学习当下主流的 WAF 软件所采用的架构比如 openresty、modsecurity,以及主要的几种检测算法:基于特征的、基于行为的、基于机器学习的等等。
网络协议攻击 & 入侵检测
WAF 主要针对的是 Web 相关的安全攻击,到这一小节,将视野进一步拓展到整个网络协议栈,TCP 劫持、DNS 劫持、DDoS 攻击、DNS 隧道、ARP 欺骗、ARP 泛洪等等,需要掌握这些传统经典攻击手段的原理,搭建环境实践,为后续的内网渗透打下基础。
另外作为防守的一方,还需要学习通过网络流量分析技术来进行安全检测,了解常用的网络分析技术,检测框架,规则语法,对以后从事安全相关开发或安全防御工作进行储备。
日志技术
通过日志来发现攻击行为是一种最常见的行为,攻击者的 Web 请求,系统登录,暴力破解尝试等等都会被系统各种软件记录在案,攻击者得手后也经常会抹除相关的日志记录,所以学习掌握这些日志,是攻防两队的人都需要学习的技能。
常见的日志有系统登录日志(Windows、Linux)、Web 服务器日志、数据库日志等等。
Python 编程
在这个阶段,是时候来学习一些 Python 编程开发了。虽然网络安全不用经常做大量的工程开发,但掌握基本的编程能力,可以用来编写爬虫、数据处理、网络扫描工具、漏洞 POC 等等,都是非常有用的,而众多编程语言中,Python 无疑是最适合的。
浏览器安全
这个阶段的最后一部分,来学习了解一些浏览器侧的安全知识,夯实 Web 安全中与浏览器相关的漏洞攻击。
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!