这应该是全网最全的网络安全扫盲帖了!发CSDN也有一段时间了,经常会有朋友在后台问我各种问题,比如“应该如何选方向”、“网络安全前景如何”、“怎么选适合的安全岗位”等等。于是今天借这个问题来给大家好好说说,如果你是零基础的小白,这篇帖子你一定要看完,看完以后能够少走很多弯路!
内容较长,可以先点赞+收藏,慢慢观看!
循例,先PO目录大纲,方便大家查看:
- 网络安全前景如何?
- 网络安全都有哪些方向
- 安全岗位都有哪些,应该如何选择
- 网络安全从业答疑
学习网络安全是否需要考证
学习网络安全需要数学或者英语很好嘛
学网络安全是否需要先学编程
打CTF有没有用
学历是否影响工作?
前期刚入门应该用什么操作系统
安全公司对招聘实习生有什么要求?
5.零基础应该如何学习网络安全
6.应该去哪里去网络安全以及建议
一、网络安全前景如何?
在谈网络安全前景之前,我们先来看看国家在网络安全领域有哪些动作
在今年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
六、应该去哪里去网络安全以及建议
很多新手小白在刚开始入门的时候会疯狂搜索各种安全教程,网上关于网络安全的学习资源也有很多。于是新手小白就会逢资源就下,逢视频就看,先不说这些资源质量好不好吧,能学习到的知识点也是十分的分散,重复性极强。代码看不懂、讲解听不明便、一知半解的情况时有反正,于是浪费了大量的学习时间。这里我建议大家在刚开始的时候,选择一套优质的,自己能听的明白的视频坚持学习足以
我个人比较推荐下面这套免费的入门视频。这套视频全程都是实战教学,就算你是零基础的小白也完全能够听得懂。而且每节课程都配备了相对应的靶场,新手小白可以在学习完理论知识以后再去靶场练习,这样能够再实战中加深理解、拓展学习,帮助零基础的同学更快入门!报名后还可以获取全套的渗透工具以及书籍、SRC笔记等等学习资源。感兴趣的同学可以点击下方卡片报名
没看够~?欢迎关注!