一、什么是网络安全
网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。
无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透,也有 Web 防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。
二、如何规划网络安全学习路线
如果你是一个安全行业的新人,我建议你先从网络安全或者Web安全/渗透测试这两个方向学起,一是市场需求量高,二则是发展相对成熟入门较为容易。
值得一提的是,学习网络安全,是先学网络后学安全;学Web安全,也是先学Web再学安全。
安全不是独立存在的,而是建立在其他技术基础之上的上层应用技术。脱离了这个基础,就很容易变成纸上谈兵,变成“知其然,不知其所以然”,在安全的职业道路上也很难走远。
如果你是原本从事网工运维,那么可以选择网络安全方向入门;如果你原本从事程序开发,推荐选择Web安全/渗透测试方向入门。
当然学到一定程度、或者有了一定工作经验,不同方向的技术耦合会越来越高,各个方向都需要会一点。
三、网络安全的知识多而杂,怎么科学合理安排?
第一部分:安全基础
1.1.网络安全行业与法规
1.2.Linux操作系统
1.3.计算机网络基础
1.4.HTLM基础
1.5.JavaScript基础
1.6.PHP 入门
1.7.MYSQL基础
1.8.Python编程
第二部分:Web安全
2.1.信息收集
2.2.SQL 注入漏洞
2.3.CSRF 漏洞
2.4.XSS 漏洞
2.5.文件上传漏洞
2.6.文件包含漏洞
2.7.SSRF 漏洞
2.8.XXE 漏洞
2.9.远程代码执行漏洞
2.10.密码暴力猜解与防御
2.11.JWT 渗透与防御
2.12.逻辑漏洞
2.13.Redis 未授权访问漏洞
2.14.反序列化漏洞渗透与防御
2.15.AWVS 漏洞扫描
2.16.Appscan 漏洞扫描
2.17.Nessus 漏洞扫描
2.18.Burp Sui te 从入门到实战
第三部分:渗透实战
3.1.CVE 漏洞复现
3.2.vulnhub 靶场实战系列
3.3.挖漏洞项目实战
3.4.实战漏洞挖掘经验分享
3.5.2023HW 实战专题
3.6.网络安全面试就业指导课
第四部分: 企业安全体系建设
4.1.等级保护
4.2.应急响应
4.3.代码审计
4.4.风险评估
4.5.安全巡检
4.6.数据安全
第五部分:后渗透
5.1.MSF-Metasploit Fram ework
5.2.CS-CobaltStrike
5.3.内网渗透
5.4.系统权限提升渗透与防御
第六部分:代码审计
6.1.MSF-Metasploit Framework
6.2.CS-CobaltStrike
6.3.内网渗透
6.4.系统权限提升渗透与防御
第七部分:二进制安全
7.1.汇编语言程序设计
7.2.C 语言编程入门
7.3.C++编程入门
7.4.Windows 逆向进阶版
7.5.免杀-反杀毒技术
7.6.安卓逆向
7.7.Web Js逆向
第八部分:协议漏洞
8.1.DOS 与 DDOS 参透与防御
8.2.无线相关渗透与防御
8.3.ARP 渗透与防御
第九部分:编程进阶
9.1.HTML5+CSS3 零基础到实战
9.2.Shell 编程
9.3.Golang 语法精讲
第十部分:CTF
10.1.CTF 夺旗赛
10.2.密码学与网络安全
总的来说只需学习10部分 时间4-6个月即可去就业了!
四、网络安全学习路线
第一阶段:基础操作入门,学习基础知识
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。
在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!
所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:
1.操作系统
2.协议/网络
3.数据库
4.开发语言
5.常见漏洞原理
学习这些基础知识有什么用呢?
计算机各领域的知识水平决定你渗透水平的上限。
【1】比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;
【2】比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;
【3】比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;
【4】再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息
第二阶段:实战操作
1.挖SRC
挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会。
2.从技术分享帖(漏洞挖掘类型)学习
观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维
3.靶场练习
自己搭建靶场或者去免费的靶场网站练习,有条件的话可以去购买或者报靠谱的培训机构,一般就有配套的靶场练习
第三阶段:参加CTF比赛或者HVV行动
推荐:CTF比赛
CTF有三点:
【1】接近实战的机会。现在网络安全法很严格,不像之前大家能瞎搞
【2】题目紧跟技术前沿,而书籍很多落后了
【3】如果是大学生的话,以后对找工作也很有帮助
如果你想打CTF比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料
推荐:HVV(护网)
HVV有四点:
【1】也能极大的锻炼你,提高自身的技术,最好是参加每年举行的HVV行动
【2】能认识许多圈内的大佬,扩大你的人脉
【3】HVV的工资也很高,所以参加的话也能让你赚到不少钱
【4】和CTF比赛一样如果是大学生的话,以后对找工作也很有帮助
四、学习资料的推荐
书单推荐:
计算机操作系统:
【1】编码:隐藏在计算机软硬件背后的语言
【2】深入理解操作系统
【3】深入理解windows操作系统
【4】Linux内核与实现
编程开发类:
【1】 windows程序设计
【2】windwos核心变成
【3】Linux程序设计
【4】unix环境高级变成
【5】IOS变成
【6】第一行代码Android
【7】C程序语言设计
【8】C primer plus
【9】C和指针
【10】C专家编程
【11】C陷阱与缺陷
【12】汇编语言(王爽)
【13】java核心技术
【14】java编程思想
【15】Python核心编程
【16】Linuxshell脚本攻略
【17】算法导论
【18】编译原理
【19】编译与反编译技术实战
【20】代码整洁之道
【21】代码大全
【22】TCP/IP详解
【23】Rootkit : 系统灰色地带的潜伏者
【24】黑客攻防技术宝典
【25】加密与解密
【26】C++ 反汇编与逆向分析技术揭秘
【27】web安全测试
【28】白帽子讲web安全
【29】精通脚本黑客
【30】web 前端黑客技术揭秘
【31】程序员的应用
【32】英语写作手册:风格的要素
常见的网络安全及论坛
- 看雪论坛
- 安全课
- 安全牛
- 安全内参
- 绿盟
- 先知社区
- XCTF联盟
我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些资料哈
视频教程
SRC&黑客技术文档
黑客工具合集
五、结语
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,能够帮大家节省大量的时间和精力成本。给自学的小伙伴们的意见是坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
也不知道大家目前都用的java编程软件有哪些,毕竟在应用程序中,未读和已读消息的设计取决于应用程序的需求和目标。下面是一些常见的设计模式: 一、简单的未读/已读标记 简单的未读/已读标记:这是最常见的设计,用户打开应用程序后,未读消息会用一个特殊的标记(通常是…