作为一个网络安全新手,首先你要明确以下几点:
- 我刚入门网络安全,该怎么学?
- 要学哪些东西?
- 有哪些方向?
- 怎么选?
- 这一行职业前景如何?
其次,如果你现在不清楚学什么的话,最简单的一个方式就是去招聘网站看各个公司的招聘要求,比如下面这些:
- 了解基本的网络和组网以及相关设备的使用;
- Windows的服务器设置和网络基本配置;
- 学习基本的html、js、asp、mssql、php、mysql等脚本类的语言;
- 多架设相关网站,多学习网站管理;
- 学习linux,了解基本应用,系统结构,网络服务器配置,基本的shell等;
- 学习linux下的iptables、snort等建设;
- 开始学习黑客常见的攻击步骤、方法、思路等,主要可以看一些别人的经验心得;
- 学习各种网络安全工具的应用、扫描、远控、嗅探、破解、相关辅助工具等;
- 学习常见的系统漏洞和脚本漏洞,根据自己以前学习的情况综合应用;
- 深入学习tcp/ip和网络协议等相关知识;
- 学习数据分析,进一步的深入;
这些只是最基本的,毕竟列出来的这些都是基础知识点,还没有涉及到系统内部结构、网络编程、漏洞研发等。。。
不同于Java、C/C++等后端开发岗位有非常明晰的学习路线,网路安全更多是靠自己摸索,要学的东西又杂又多,难成体系。
近几年,随着网络安全被列为国家安全战略的一部分,这个曾经细分的领域发展提速了不少,除了一些传统安全厂商以外,一些互联网大厂也都纷纷加码了在这一块的投入,随之而来的吸引了越来越多的新鲜血液不断涌入。
网络渗透想要成为高手,需要掌握计算机、网络、编程的全栈能力,操作系统、日志分析、流量分析、漏洞攻击、安全审计、Web安全、网络协议、编程语言等等这些东西都是需要学习的。
这些东西,有一部分是可以通过基础课程的学习得来,还有一部分则需要实战训练来积累。
一、扎实的计算机基础功底
如果是非科班同学,大部分学习网络渗透的同学都是从Web前后端技术、Web安全、漏扫工具等开始上路。这完全没有问题,这些内容相对来说对计算机系统知识体系的要求相对要低一些,上手起来更快,也更有成就感。但出来混迟早要还的,落下的基础在后面还是需要补回来。
对于搞网络渗透方向的同学来说,这些基础是什么?
我就不扯什么计算机组成原理、数据结构与算法这些东西了,最密切相关的有这三个:
计算机网络、操作系统&Linux、Web开发技术(后端+前端)
这三个一定要好好学,认真学!
学会了计算机网络,你才知道网络通信的原理,网络协议攻击是怎么一回事,流量分析又将怎么进行。学会了操作系统和Linux,你才知道攻击溯源如何进行,系统安全日志如何分析,服务器提权又是什么原理。学会了Web开发技术,你才知道那些个Web安全攻击手法SQL注入、XSS、CSRF、一句话木马背后的原理是什么,漏洞扫描又该如何进行。
二、大量的实战训练积累
基础知识可以看书学习,但有些东西则需要实战去积累。
比如通过流量分析、日志分析找到网站存在的漏洞
比如使用POC去拿下一台服务器
比如建设一套安全防御体系
这些东西,书上是没有告诉你标准答案的,需要你在具备网络安全知识的基础之上,通过攻防对抗去丰富自己的安全经验,成为自己的安全能力。
这方面,可以通过打CTF、参加红蓝对抗、护网行动等方式去训练。
如果你还是不清楚应该学什么、怎么学的话,我这里给你贴个图:
看到这里,你应该知道该怎么学了吧,既然我也写到这里了,顺便再把我自己收集整理的资料贴出来,里面不仅有web安全,还有渗透测试、代码审计、社工等板块,包含电子书、视频笔记、pdf文档、源码等内容,我大部分都看过,内容还算不错。如果有需要,可以留言!