零基础的小白学习网络安全&黑客,一定要看完,看完以后能够少走很多弯路!

这应该是全网最全的网络安全扫盲帖了!发知乎也有一段时间了,经常会有朋友在后台问我各种问题,比如“应该如何选方向”、“网络安全前景如何”、“怎么选适合的安全岗位”等等。于是今天借这个问题来给大家好好说说,如果你是零基础的小白,这篇帖子你一定要看完,看完以后能够少走很多弯路!
内容较长,可以先点赞+收藏,慢慢观看!
循例,先PO目录大纲,方便大家查看:
网络安全前景如何?
网络安全都有哪些方向
安全岗位都有哪些,应该如何选择
网络安全从业答疑
零基础应该如何学习网络安全
应该去哪里去网络安全以及建议
一、网络安全前景如何?
在谈网络安全前景之前,我们先来看看国家在网络安全领域有哪些动作
在今年3月份颁布的十四五规划和2035远景目标中提到:
国家会坚持创新驱动发展,把科技的自立自强作为国家发展的战略支撑,加快建设科技强国。
我们要发展壮大战略性新兴产业,加快建设新型基础设施,着眼抢占未来产业发展的先机
加快数字化发展。建设数字中国,加快建设数字经济、数字社会数字政府
要培育壮大人工智能、大数据、区块链、物联网、网络安全等新兴的数字产业
加快推动网络强国建设,加强网络空间保护,构建网络空间命运共同体
而最重要的是,上面这些不是简简单单喊口号,他是非常明确的给出了发展指标的。比如在2025年的时候,我们的数字经济核心产业增长值要占到整个GDP比重的10%。战略性新兴产业要占到GDP比重的超过17%,这是什么概念呢?第一点就是说咱们以现在国家的经济体量来看,这样的一个增长量其实就是一个万亿级的产业,那必定就会催生出一个百亿级的一个人才缺口。第二点就是以现在的GDP的一个缓慢增长的情况下,如果某个产值要占到两位数以上的GDP增长,那就说明这个产业一定会成为未来咱们国家经济发展的主要的经济
并且在2021年7月12日,工信部在官网发布《网络安全产业高质量发展三年行动计划(2021-2023年)(征求意见稿)》中提到到2023年,网络安全产业规模超过2500亿元,年复合增长率超过15%。可见网络安全在未来有着不可限量的发展前景
而目前的市面上技术人员只能填满不到1%的缺口!虽然说人才缺口大,但是随着互联网技术的高速发展,对于网络安全人才的要求也会越来越高。所以要想拿到高薪,提升技术才是首要任务。
二、网络安全都有哪些方向?
网络安全是基于应用场景来划分主要可以分为八个方向:
1.网络安全方向:这里的网络特指的就像政务网、企业网、金融网、医疗网、校园网这样一张张的网络基础设施,在学习这个方向的时候会接触到各种通信协议、网络路由技术、防火墙、入侵检测、入侵防御、流量审计等等一些安全产品
2.主机安全方向:主要研究Windows、Linux、micros系统的安全问题,如何保障电脑和服务器的安全,就是这个方向需要解决的
3.Web安全方向:本质是研究代码和软件安全。举个例子,我们平常上网访问的这么一个个网站,其实就是一个个的Web应用。这些网站其实就可能存在前端展现的问题,后端逻辑的问题,数据存储的安全问题,如何找出这些网站的漏洞原理,如何去修复和完善这些网站的问题,就是这个方向要研究的
4.数据安全方向:这个方向的重要性不言而喻,国家针对数据安全已经出台了数据安全法。那可以这么说。无论要建设是一个数字化国家,还是数字化的城市,还是数字化的企业,我们首先要解决的就是数据的安全性。那如何解决数据在存储、处理等等各个环节的安全,就是这个方向要去解决的
以上四个方向就是我们新手小白或者网安从业者,我们首先要去研究的这四个方向,构成了我们整个网络安全产业的一个底盘
其他的还有:
5.云计算安全方向:研究的就是云形态的安全产品以及云基础设施等相关问题
6.移动安全方向:研究的手机、平板等终端的安全,比如安卓、iOS安全
7.物联网安全方向:研究的是物联网基础设施上面的产品和技术的问题
8.工控安全:研究的是工控和工控设施带来的工控安全
而根据技术划分的话网络安全主要分为
网络渗透
二进制
网络渗透:
网络渗透在一定的层面上可以理解为就是咱们熟知的黑客入侵,通常见到的可以入侵某一个网站,给某一个网站挂上木马,修改网站内容,改数据库内容(比如改大学教务系统的考试成绩),留一下一个网站的webshell等等其实都属于网络渗透的内容,由于互联网与信息化的普及网站系统对外的业务较多,且由于程序员的水平层次不齐与运维人员的一些配置失误,网络渗透需要掌握的内容较多
以下是网络渗透相关的知识体系:

简单一点说,其实也就是通过找到一些网站系统的漏洞,然后拿到一个网站的管理权限
二进制:
二进制安全主要工作集中在一些二进制通用漏洞的挖掘、加密解密、软件安全、病毒分析、等主要业务场景。比如常知道的wannacry勒索病毒分析就是属于二进制安全内容
这个方向相比于网络渗透来说技术度会更大一些,且提供这些岗位的公司也会相对较少。不过目前二进制方向的人才非常少,所以竞争也会相对较小
大概的技能知识树如下:

三、安全岗位都有哪些,应该如何选择
安全岗位整体我们可以划分为三个职业路线:
第一个路线就是往研究研发路线去走,主要包括的岗位有:安全产品开发,红队武器的开发,APT的这种攻防研究,漏洞挖掘、逆向分析等等
第二个路线就是这个工程服务线,主要包括的岗位有:渗透测试工程师,外包安全工程师,安全服务工程师,安抚项目经理等等
第三个路线就是市场的业务路线,主要包括的岗位有:销售工程师,安全售前,安全咨询,解决办公室等等等等。
这么多的安全岗位,我们如何结合自己的这个条件来进行选择呢?这里给出三个建议。
第一个建议,如果你的学校学历以及专业各个方面背景都特别好,并且软件开发能力功底也比较深厚。像这种情况,我建议你不用怀疑,直接选择研究研发岗。这是整个安全行业,甚至IT产业里面竞争力处于金字塔顶尖的一波岗位。如果你之前已经从事了很多年的转型开发行业,这个时候突然想转安全岗,你可以考虑跳到研究研发这些岗位里面去。
第二点建议,如果你研发水平一般,但是你原来是网工运维出身的。这种情况,你的工程实践能力其实不错的,我建议你走工程服务路线。这个路线的相关的岗位,其实不要求你有什么开发能力,只要求你熟悉一到两门编程语言有一定的开发能力,能看懂代码,能熟练的使用工程工具,能跑客户现场,能把客户服务好这就可以了。这类人才在整个安全圈里面估计占了百分之6.70
第三个建议,如果你没有研究研发能力,也没有工程服务能力,那是不是就没戏了呢?是不是就没法混安全圈了,其实不
如果你的沟通表达能力不错,文档制作能力也很强。那这个时候,其实你可以选择往市场的业务路线去走,写写项目标书,做做安全咨询,维护一下客户关系。这也是为行业创造的价值。别小看虽然是市场方向,但是只要做的好,这些岗位的薪酬报酬未必会超过技术岗位
四、网络安全从业答疑
1.学习网络安全是否需要考证
对于安全行业来讲,其实证书并不是一个必须的。但是如果说你去传统企业,国企、政府或者是学校里面当老师什么的,这就另算了。如果说你证书多一些会相对来说更好一点。比如说在同等情况下,你跟另外一个候选人的情况都差不多,技术能力、年龄、经验都差不多的情况下,这时候如果说你的证书多一点,可能会略有优势。但是整体而言安全行业的证书算是锦上添花的东西,并不是必须的。如果说你一定问我要可以考什么证书呢?那我觉得CISP、CISSP或者是一些标准类的27001 LA等等。或许某些场合有可能用得到
2.学习网络安全需要数学或者英语很好嘛
我觉得目前90%以上的同学目前离远没有到达会受到英语水平,或者数学水平限制学习的程度。
3.学网络安全是否需要先学编程
其实这个问题我在知乎已经回答过很多次了,我个人的建议是你最开始入门的时候可以先不用学编程,就先去玩一玩渗透安全攻防技术。等你自己搞一段时间之后,其实你都不会再问这个问题了,到时候你自己就知道了。不过如果你完全不懂编程,你的渗透技术将会遇到一个极大的而且是不可突破的瓶颈。所以说编程的学习还是非常重要的,只是我个人不太建议一开始就先学编程。
因为编程相比渗透和安全技术来讲是比较枯燥的。你可能无法很快的及时的得到一个积极的有趣的反馈和奖励,所以说很有可能在你学编程的这个阶段,你就把自己给劝退了。但相比之下,这个渗透和安全技术可能会能够让你很快的就有一些满足感,也能够很好的培养学习兴趣,这样是有利于你坚持学习下去的!
4.打CTF有没有用?
我建议如果你是在校大学生有机会去参加CTF比赛的话,那就尽可能去参加。即使你去是去打酱油的也无所谓,一定会有收获的。但是如果你是转行的话,我建议还是以SRC等实战为主吧。现在HR招人的主要看的就是你的实战能力
5.学历是否影响工作?
目前很多公司,无论是甲方互联网公司还是乙方安全公司,都会有一个最基本的学历要求,就是本科或者本科以上的学历。如果你没有本科或者以上学历,很有可能你的简历在HR那一关就直接被刷掉了。不只是网络安全行业是这样,现在所有的行业都是如此。
但是如果说你的能力真的很强,技术真的很强。其实学历这个东西也不是一个百分之百的硬性的门槛。就是说如果你面试的时候真的有非常强的能力,或者说是有人帮你内推并且。你有机会跟面试官聊的时候,让他感受到能力非常强的话,其实有的时候也是可以有一些特殊的流程,有一些特批的
6.前期刚入门应该用什么操作系统
其实这个问题真的不需要想那么复杂,你就用Windows就行了,咱们中国人最熟悉的操作系统就是windows。你前期学的东西都是非常基础的东西,这些都是有相应的工具和环境的,完全没必要要求自己必须用Linux。本身在刚入门的时候需要学习和掌握的东西很多,还非要化简为繁,那很有可能你在操作系统这块就把自己劝退了,所以还是先活下来最重要
五、零基础应该如何学习网络安全?

考虑到题主可能是一个新手,因此,接下来我会详细告诉你本学习路线图中每个阶段都需要学什么、学到什么程序
第一阶段: Web 技术入门
这个阶段的学习目标是:搭建属于自己的博客 / 论坛 / 网站(成为一名站长)、掌握 Web 技术架构、搞懂浏览器和网站之间的通信原理
Web 网站实战
Web 建站指南(WordPress在线建站)
XMAPP 原理与实践(Web集成环境解读)
XAMPP 安装 WordPress
Joomla 介绍与安装
Discuz 介绍与安装
Dedecms 介绍与安装
HTTP原理与实践
HTTP 协议概述
HTTP 请求响应
HTTP 请求方法
HTTP 响应方法
HTTP 消息报文之请求报文
HTTP 消息报文之响应报文
HTTP 消息报文之通用报文
HTTP 消息报文之实体报文
工具软件
网站运行环境
Xampp / PHPstudy / WAMP / MAMP(任选一个)
Bitnami
PhpMyAdmin
CMS 程序包
WordPress
Joomla
Discuz
Dedecms
抓包调试
Postman
Npcap
Wireshark
第二阶段: Web 前端开发
这个阶段的学习目标是:掌握 Web 前端开发技术,学习 HTML、CSS、JavaScript 编程语言,能独立制作 Web商业级页面
1 技能清单
HTML 编程原理与实践
WebStorm使用
HTML 入门
HTML 标题
HTML 头部
HTML 段落
HTML 文本
HTML 链接
HTML 列表
HTML 表格
HTML 布局
HTML 项目
CSS 编程原理与实践
CSS 入门
CSS 选择器
CSS 背景
CSS 文本
CSS 字体
CSS 链接
CSS 盒模型
CSS 定位
CSS 浮动
CSS 项目
JavaScript 编程原理与实践
JavaScript简介
JavaScript 基础
JavaScript 变量
JavaScript 数字
JavaScript 字符串
JavaScript 数组
JavaScript 词典
JavaScript 流程控制
JavaScript 流程控制
JavaScript 函数
JavaScript DOM基础
JavaScript DOM事件
JavaScript BOM事件
JavaScript 项目
工具软件
Webstorm
Sublime Text
第三阶段: Web 后端开发
这个阶段的学习目标是:掌握 Web 后端开发,学习 Python 编程与 Django Web 开发框架,掌握 MySQL 数据库原理与操作。从零开始独立开发一个 Web 网站,并基于 LNMP 架构在 CentOS 服务器上进行部署
这里要特别强调下,后端技术涉及的编程语言、Web框架、数据库、中间件、操作系统等技术众多,作为新手,可以遵循一个原则,即「深入某个技术栈,横向扩展其他」
例如,在这个路线图里面,我们选择 Python/Django 作为后端学习的技术栈,因为相比 Java 或 PHP,Python 对于新手而言更加友好,代码简洁且语法清晰。不仅如此,由于众多安全工具和测试代码基于 Python 开发,其也被称为黑客或网络安全领域的第一语言。
当我们完成了 Python / Django 的学习之后,后续也可以再横向拓展到 PHP/Thinkphp 或 Java/Spring 等后端技术栈,这样才能更好的胜任 Web 安全测试工作
Python 编程原理与实践
Python 导论入门
Python 环境安装
Python 对象类型
Python 流程控制
Python 函数模块
Python 面向对象
Python 输入输出
Python 异常处理
Django Web 项目开发实战
Django 框架入门
Django 环境安装
Django 项目搭建
Django ORM
Django Models
Django Views
Django Template
Django Blog 项目
网站部署上线
工具软件
PyCharm
Navicat
MySQL
第四阶段:Web 安全渗透
这个阶段我们的学习目标是:
熟练 Kail Linux 渗透测试原理与实践,包括信息搜集、漏洞扫描、漏洞利用、后门维持等。
熟练 Web 安全攻防实验室搭建与靶机使用,包括 OWASP BWA、DVWA、Mutillidae II、PentesterLab 等
熟练OWASP TOP10 等 Web 漏洞原理与利用,包括 SQL 注入、文件上传、文件包含、Webshell木马编写、命令执行、XSS跨站脚本攻击、CSRF跨站伪造请求等
熟练编程开发与渗透测试等超 40 种常用工具使用,包括但不限于 BurpSuite、SQLmap、Wireshark、Metasploit、Nmap、Nessus、OpenVas、AppScan、AWVS、ZAP、Havij、Postman、Pangolin、Cknife、Weevely、Jexboss、Tamper、Xampp、edjpgcom、Google Devtools、PyCharm、WebStorm、Navicat、SET、Meterpreter、Shodan、Dirbuster、BeEF、WPscan、Joomscan、httpprint、Whatweb、Layer子域名、御剑后台、中国菜刀等
熟悉CTF靶机渗透测试实战,通过CTF4、CTF6、CTF7等攻防实践,真正掌握黑盒测试、攻击链、红队等一系列方法
熟悉Windows与Linux常见漏洞复现实践,包括CVE-2017-7494-SambyCry远程代码执行、CVE-2017-16995-Ubuntu16.04本地提权、MS17-010-永恒之蓝-Windows提权等
Web安全渗透之实验室搭建
Kali Linux
OWASP BWA
PentesterLab
Windows
Web安全渗透之信息搜集
搜索引擎Google Hacking
搜索引擎 Shodan Hacking
搜索引擎Zoomeye Hacking
目标扫描 Nmap 简介-命令行操作
目标扫描 Nmap 图形化操作(Zenmap)
目标扫描 Nmap 图形化操作(Zenmap)
目标扫描 OpenVAS
域名遍历 Dirbuster
域名遍历御剑后台-Layer子域名
指纹识别 Whatweb
指纹识别 httprint
Web安全渗透之漏洞扫描
Web漏扫原理与工具介绍
BurpSuite入门与安装
BurpSuite代理功能
BurpSuite目标功能
BurpSuite爬虫功能
BurpSuite扫描功能
BurpSuite入侵功能
BurpSuite辅助功能
BurpSuite+CO2实现SQL注入攻击
AWVS入门与安装
AWVS Web Scanner扫描功能
AWVS 站点爬取-目标查找-子域名查找
AWVS SQL盲注-HTTP编辑-嗅探-模糊测试
AWVS HTTP表单破解-任务计划-Web服务扫描
Appscan入门与安装
Appscan扫描执行-漏洞说明-修复任务
Appscan保存扫描-导出报告-扫描配置
Appscan手工探索-手工测试-调度程序
Appscan PowerTools - 表单破解
OWASP ZAP入门与安装
OWASP ZAP主动扫描
OWASP ZAP扫描报告-拦截代理-插件使用
OWASP ZAP模糊测试-编码解码
WPscan-Joomscan
Web安全渗透之SQL注入与防御
SQL注入漏洞原理-影响-分类
数据库原理-SQL语句讲解-CRUD操作
数据库原理-数据表建立-注入流程
手工注入-错误-布尔-Union注入
手工注入-Union注入-时间盲注
自动化注入-SQLmap入门与使用
自动化注入-SQLmap GET注入详解
自动化注入-SQLmap POST注入-带参数cookie注入
自动化注入-SQLmap混淆-代理-高级注入
自动化注入-SQLmap数据获取-提取操作
自动化注入-SQLmap实战案例
自动化注入-Havij使用详解
自动化注入-Havij实战案例
自动化注入-Pangolin使用详解
SQL注入安全防御思路
Web安全渗透之文件上传攻击与防御
文件上传漏洞原理
低安全级别漏洞利用-上传Webshell-绕过大小限制
中安全级别漏洞利用-绕过文件类型限制实现任意文件上传
高安全级别漏洞利用-上传一句话图片木马
Webshell原理-一句话木马代码解读
Webshell 实战-中国菜刀(China Chopper)
Webshell 实战-C刀(Cknife)
Webshell实战-一句话图片木马原理与制作(edjpgcom-cmd制作)
Webshell 实战-XISE寄生虫
Webshell 实战-Weevely
文件上传漏洞安全防御思路
Web安全渗透之文件包含攻击与防御
文件包含漏洞原理
本地文件包含(LFI)
远程文件包含(LFI)
本地文件包含结合文件上传webshell
远程文件包含结合webshell
中高安全级别绕过分析
文件包含安全防御思路
Web安全渗透之命令执行攻击与防御
命令执行漏洞原理-低安全级别漏洞利用
命令执行漏洞原理-中高安全级别漏洞利用
命令执行漏洞原理-Apache Struts2远程命令执行实战案例
命令执行防御思路
Web安全渗透之 XSS 攻击与防御
XSS跨站脚本攻击原理-分类-危害
反射型 XSS-低安全级别-弹框-重定向-cookie获取及利用(tamper data)
反射型 XSS-中安全级别-大小写-混淆写法绕过
存储型 XSS-低安全级别-弹框告警-cookie获取
存储型 XSS-中高级别分析及cookie获取
自动化攻击- BeEF 入门简介
自动化攻击- BeEF 基础使用(初始启动-脚本解读-服务管理)
自动化攻击- BeEF 信息收集(浏览器重定向-链接修改-弹框-主机-网络)
自动化攻击- BeEF 持久化控制-与Metasploit结合实现渗透测试
自动化攻击- BeEF 社会工程学攻击(点击劫持-谷歌Facebook网页钓鱼-虚假更新)
XSS 跨站脚本攻击-安全防御思路
Web安全渗透之 CSRF 攻击与防御
CSRF跨站请求伪造原理-会话机制(Cookie和Session)
CSRF跨站请求伪造-BeEF-XSS实现CSRF攻击(GET方法实现管理员密码修改)
CSRF跨站请求伪造-BeEF-Burp实现CSRF攻击(POST方法实现信息提交)
CSRF跨站请求伪造-安全防御思路(二次认证-Token认证-Refer头部检测)
高级渗透测试系列
网络服务渗透之 Windows 常用服务
网络服务渗透攻击 之 Linux 常用服务
客户端渗透之 Adobe PDF 渗透
客户端渗透之 Office Word渗透
社会工程学之伪装木马
社会工程学之网站钓鱼
自动化渗透 - 后渗透
工具软件
信息搜集
搜索引擎(Google/Shadan hacking)
目标扫描(Nmap、OpenVAS)
指纹识别(whatweb、Appprint、御剑指纹识别)
域名/目录/后台/暴破(DirBuster、御剑、Layer子域名挖掘机)
漏洞扫描
BurpSuite
AWVS
Appscan
ZAP
WPscan
Joomscan
SQL注入漏洞
SQLmap
Pangolin
Havij
Discuz注入漏洞利用exp
XSS/CSRF漏洞
BeEF
文件上传
中国菜刀
Cknife
edjpgcom
一句话图片木马
XISE WBMS
Weevely
命令执行
Struts2漏洞利用exp
六、应该去哪里去网络安全以及建议
很多新手小白在刚开始入门的时候会疯狂搜索各种安全教程,网上关于网络安全的学习资源也有很多。于是新手小白就会逢资源就下,逢视频就看,先不说这些资源质量好不好吧,能学习到的知识点也是十分的分散,重复性极强。代码看不懂、讲解听不明便、一知半解的情况时有反正,于是浪费了大量的学习时间。这里我建议大家在刚开始的时候,选择一套优质的,自己能听的明白的视频坚持学习足以。
学习资源推荐:
同时每个成长路线对应的板块都有配套的教程笔记源码提供:

网络安全视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。

SRC文档&黑客技术书籍
大家最喜欢也是最关心的SRC文档&黑客技术书籍也有收录

护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
