自学网络安全:常见误区、准备与学习路线指南
网络安全自学涉及避开误区、做好软硬件及语言准备,并按基础操作、实战操作、CTF/HVV 三个阶段进阶。文章指出不应过度追求编程基础或深度学习作为入门,建议按需学习。核心在于掌握操作系统、网络、数据库、开发语言及漏洞原理五大基础模块。通过挖 SRC、复现漏洞、搭建靶场提升实战能力,参与 CTF 或护网行动积累经验。推荐了包括操作系统、编程开发及安全专项在内的多本经典书籍及相关安全社区资源。

网络安全自学涉及避开误区、做好软硬件及语言准备,并按基础操作、实战操作、CTF/HVV 三个阶段进阶。文章指出不应过度追求编程基础或深度学习作为入门,建议按需学习。核心在于掌握操作系统、网络、数据库、开发语言及漏洞原理五大基础模块。通过挖 SRC、复现漏洞、搭建靶场提升实战能力,参与 CTF 或护网行动积累经验。推荐了包括操作系统、编程开发及安全专项在内的多本经典书籍及相关安全社区资源。

在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全。一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多。
一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。而且学习编程只是工具不是目的,我们的目标不是成为程序员。建议在学习网络安全的过程中,哪里不会补哪里,这样更有目的性且耗时更少。
很多人都是冲着要把网络安全学好学扎实来的,于是就很容易用力过猛,陷入一个误区:就是把所有的内容都要进行深度学习,但是把深度学习作为网络安全第一课不是个好主意。原因如下:
网上有很多关于网络安全的学习资料,动辄就有几个 G 的材料可以下载或者观看。而很多朋友都有'收集癖',一下子购买十几本书,或者收藏几十个视频。
网上的学习资料很多重复性都极高而且大多数的内容都还是几年前没有更新。在入门期间建议'小而精'的选择材料,下面我会推荐一些自认为对小白还不错的学习资源,耐心往下看。
经常会问我'学习网络安全需要配置很高的电脑吗?'答案是否定的。黑客用的电脑不需要什么高的配置,只要稳定就行。因为黑客所使用的一些程序,低端 CPU 也可以很好的运行,而且不占什么内存。还有一个,黑客是在 DOS 命令下进行的,所以电脑能使用到最佳状态!所以,不要打着学习的名义重新购买机器。
很多人会纠结学习黑客到底是用 Linux 还是 Windows 或者是 Mac 系统。Linux 虽然看着很酷炫,但是对于新人入门并不友好。Windows 系统一样可以用虚拟机装靶机来进行学习。
至于编程语言,首推 Python,因为其良好的拓展支持性。当然现在市面上很多网站都是 PHP 开发的,所以选择 PHP 也是可以的。其他语言还包括 C++、Java 等。
很多朋友会问是不是要学习所有的语言呢?答案是否定的!引用我上面的一句话:学习编程只是工具不是目的,我们的目标不是成为程序员。
(这里额外提一句,学习编程虽然不能带你入门,但是却能决定你能在网络安全这条路上到底能走多远,所以推荐大家自学一些基础编程的知识)
我们知道计算机最早是在西方发明出来的,很多名词或者代码都是英文的,甚至现有的一些教程最初也是英文原版翻译过来的,而且一个漏洞被发现到翻译成中文一般需要一个星期的时间,在这个时间差上漏洞可能都修补了。而且如果不理解一些专业名词,在与其他黑客交流技术或者经验时也会有障碍,所以需要一定量的英文和黑客专业名词(不需要特别精通,但是要能看懂基础的)。
比如说:肉鸡、挂马、shell、WebShell 等等。
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在 1 个月左右比较合适。
在这个阶段,你已经对网络安全有了基本的了解。如果你学完了第一步,相信你已经在理论上明白了什么是 SQL 注入,什么是 XSS 攻击,对 Burp、MSF、CS 等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!
所谓的'打地基'其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备 5 个基础知识模块:
学习这些基础知识有什么用呢?
计算机各领域的知识水平决定你渗透水平的上限。
挖 SRC 的目的主要是将技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而 SRC 是一个非常好的技能应用机会。
观看学习近十年所有 0day 挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维。
自己搭建靶场或者去免费的靶场网站练习,有条件的话可以去购买或者报靠谱的培训机构,一般就有配套的靶场练习。
CTF 有三点:
如果你想打 CTF 比赛,直接去看赛题,赛题看不懂,根据不懂的地方接着去看资料。
HVV 有四点:
掌握上述路径并持续练习,是成为安全从业者的有效途径。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online