您现在的位置是:首页 >技术交流 >网络安全的学习路线是怎么样的?网站首页技术交流

网络安全的学习路线是怎么样的?

白帽小婀 2024-06-25 06:01:02
简介网络安全的学习路线是怎么样的?

在众多高大上的学习路线指导中,尝试做一股清流,把要讲清楚的都讲清楚,该学些什么,学到哪个程度进入到下一阶段的学习这些才是最重要的。

在学习之前首先要做好学习的系统规划:

1.目前市场需求主流的岗位里,你得选择一个其中你目前看来可以学,并且最感兴趣学习的方向。零基础的话,我个人推荐零基础学习网络安全可以以Web渗透为方向入门,相比于pwn来说,Web渗透用工具比较多,新人好入门

2.在方向选好后,对照招聘网站上的相关岗位要求,进行学习内容的统计与大概的记录

3.分模块的计划你学习这个模块的时间和完成的大概目标

4.列出你可能出现的学习误差与为之准备的对应方案

废话不多说了,接下来我们来具体学习路线,仅供参考:

一、基础部分

基础部分需要学习以下内容:

1.计算机网络 :

重点学习OSI、TCP/IP模型,网络协议,网络设备工作原理等内容,其他内容快速通读

2.Linux系统及命令 :

由于目前市面上的Web服务器7成都是运行在Linux系统之上,如果要学习渗透Web系统,最起码还是要对linux系统非常熟悉,常见的操作命令需要学会

学习建议:学习常见的10%左右的命令适用于90%的工作场景,和office软件一样,掌握最常用的10%的功能,基本日常使用没什么问题,遇到不会的,再去找度娘;常见的linux命令也就50-60个,很多小白囫囵吞枣什么命令都学,发现记不住啊!!!!这个学习方法也是不对的

3.Web框架 :

熟悉web框架的内容,前端HTML,JS等脚本语言了解即可,后端PHP语言重点学习,切记不要按照开发的思路去学习语言,php最低要求会读懂代码即可,当然会写最好,但不是开发,但不是开发,但不是开发,重要的事情说三遍

4.数据库:

需要学习SQL语法,利用常见的数据库MySQL学习对应的数据库语法,也是一样,SQL的一些些高级语法可以了解,如果没有时间完全不学也不影响后续学习,毕竟大家不是做数据库分析师,不需要学太深

二、Web安全

1.Web渗透

掌握OWASP排名靠前的10余种常见的Web漏洞的原理、利用、防御等知识点,然后配以一定的靶场练习即可。有的小白可能会问,去哪里找资料,建议可以直接买一本较为权威的书籍,配合网上的免费视频系统学习,然后利用开源的靶场辅助练习即可

推荐书籍:白帽子讲Web安全

关于网络安全入门的视频网上有很多,但是大多都是偏重理论知识,缺乏实战。对于小白来说晦涩难懂,遇到不懂的问题也没人问。个人比较推荐下面这套视频,讲的内容不仅通俗易懂,而且还有每节课程都有配备的靶场练习。这样就可以在实践中印证理论、加深理解、同时继续扩展学习,这对于新人来说帮助非常大

2.工具学习

Web渗透阶段还是需要掌握一些必要的工具

主要要掌握的工具和平台:burp、AWVS、Appscan、Nessus、sqlmap、nmap、shodan、fofa、代理工具ssrs、hydra、medusa、airspoof等,以上工具的练习完全可以利用上面的开源靶场去练习,足够了

练习差不多了,可以去SRC平台渗透真实的站点,看看是否有突破,如果涉及到需要绕过WAF的,需要针对绕WAF专门去学习,姿势也不是特别多,系统性学习学习,然后多总结经验,更上一层楼

3.自动化渗透

自动化渗透需要掌握一门语言,且需要熟练运用,可以是任何一门自己已经掌握得很熟悉得语言,都可以,如果没有一门掌握很好的,那我推荐学习python,最主要原因是学起来简单,模块也比较多,写一些脚本和工具非常方便

学习python不需要掌握很多不需要的模块,也不需要开发成千上万行的代码,仅利用它编写一些工具和脚本,少则10几行代码,多则1-200行代码,一般代码量相对开发人员已经少得不能再少了,例如一个精简得域名爬虫代码核心代码就1-20行而已

学习建议:几天时间学习一下python的语法,有代码基础得朋友,最快可能一天就可以学习完python的语法,因为语言都是相通的,但是学习语言最快的就是写代码,别无他法。接下来可以开始尝试写一些常见得工具,如爬虫、端口探测、数据包核心内容提取、内网活跃主机扫描等,此类代码网上一搜一大把;然后再写一些POC和EXP脚本,以靶场为练习即可

4.代码审计

此处内容要求代码能力比较高,因此如果代码能力较弱,可以先跳过此部分的学习,不影响渗透道路上的学习和发展。

但是如果希望在Web渗透上需要走得再远一些,需要精通一门后台开发语言,推荐php,因为后台采用php开发的网站占据最大,当然你还精通python、asp、java等语言,那恭喜你,你已经具备很好的基础了

代码审计顾名思义,审计别人网站或者系统的源代码,通过审计源代码或者代码环境的方式去审计系统是否存在漏洞(属于白盒测试范畴)

那具体要怎么学习呢?学习的具体内容按照顺序列举如下:

  • 掌握php一些危险函数和安全配置
  • 熟悉代码审计的流程和方法
  • 掌握1-2个代码审计工具,如seay等
  • 掌握常见的功能审计法(推荐审计一下AuditDemo,让你产生自信)
  • 常见CMS框架审计(难度大)

代码审计不是学习网络安全的必要条件,能够掌握最好,掌握不了也不影响后续的学习和就业,但你需要选择一个阶段,练习得更专业精通一些,如web渗透或者内网渗透,再或者是自动化渗透

三、内网安全

如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位

如果想就业面更宽一些,技术竞争更强一些,需要再学习内网渗透相关知识

内网的知识难度稍微偏大一些,这个和目前市面上的学习资料还有靶场有一定的关系;内网主要学习的内容主要有:内网信息收集、域渗透、代理和转发技术、应用和系统提权、工具学习、免杀技术、APT等等

四、渗透拓展

渗透拓展部分,和具体工作岗位联系也比较紧密,尽量要求掌握,主要有日志分析、安全加固、应急响应、等保测评等内容;其中重点掌握前三部分,这块的资料网络上也不多,也没有多少成型的书籍资料,可通过行业相关的技术群或者行业分享的资料去学习即可,能学到这一步,基本上已经算入门成功,学习日志分析、安全加固、应急响应三部分的知识也相对较为容易

另外,如果是代码能力很弱,或者根本没有什么代码能力,其他基础也比较差的小伙伴,建议学习Web渗透及工具,然后再学习编程

对于小白来说,代码基础通常较弱,很多很多小白会倒在前期学习语言上,所以推荐先学习web渗透和工具,也比较有意思,容易保持一个高涨的学习动力和热情。

先学习基础部分,比如linux系统、计算机网络、一点点的Web框架、数据库

那像php语言、自动化渗透和代码审计部分内容,可以放在最后,当学习完毕前面知识后,也相当入门后,再来学习语言,相对会容易一些

小白可以参考下面这张成长路线图:

 

​我也整理了一些网安学习资料

 

部分内容展示

需要以上籽料的可以评论区留言666我发你哦

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。