自学网安的误区与陷阱
01.不要先学编程再学网络安全
我一直强调,不要以编程为基础来学习网络安全。编程学习周期长,而且实际用到的关键知识并不多。
如果你打算先学好编程再学习网络安全,可能会花费很长时间,而且容易半途而废。编程只是工具,不是我们的最终目标。我们的目标不是成为程序员。在学习网络安全的过程中,遇到不会的再去补充,这样更有针对性,耗时也更少。
02.不要把深入学习当成入门第一课
很多人想把网络安全学得很扎实,所以用力过猛,陷入误区,认为所有内容都要深度学习。但把深度学习作为网络安全的第一课不是好主意,原因如下:
1.深度学习的黑箱性明显,很容易学得囫囵吞枣。
2.深度学习对自身要求高,不适合自学,容易走进死胡同。
另外,不要收集过多资料,网上有很多关于网络安全的学习资料,动辄几个G的材料可以下载或观看。很多人有“收集癖”,一下子买十几本书,或者收藏几十个视频。但网上的学习资料重复性很高,而且大多数内容都是几年前的,没有更新。建议多参加社群,增进技术交流。
学网安的前期准备
1.硬件选择
经常有人问我:“学习网络安全需要电脑配置高吗?”答案是否定的。黑客用的电脑不需要特别高的配置,只要稳定就好。因为他们使用的一些程序,即使在低端CPU上也能跑得很好,而且不会占用太多内存。另外,黑客通常是在DOS命令下操作,这样电脑才能达到最佳状态。所以,不要为了学习网络安全而非要重新购买新电脑。
2.软件选择
很多人会犯难,不知道学习黑客应该选Linux、Windows还是Mac系统好。虽然Linux看起来很酷,但对新手来说不太友好。其实,Windows系统也可以通过虚拟机装靶机来学习。
至于编程语言,我推荐首选Python,因为它支持扩展很好。当然,现在很多网站都是用PHP开发的,所以选择PHP也是个不错的选择。其他语言还有C++、Java等……
很多朋友会问是否要学习所有的编程语言?答案是否定的!就像我之前说的,学习编程只是为了工具,而不是目的。我们的目标不是成为程序员。
(顺便说一句,虽然编程不能直接让你入门,但它确实能影响你在网络安全领域的深度,所以建议大家自学一些基础的编程知识。)
3.语言能力
我们知道计算机最初是在西方发明的,因此许多名词和代码都是英文的。很多教程最初也是从英文原版翻译而来,一个漏洞被发现到翻译成中文通常需要大约一个星期的时间,这段延迟可能导致漏洞已经被修补。此外,如果不理解一些专业术语,在与其他黑客交流技术或经验时也会遇到障碍。因此,了解一定量的英文和黑客专业术语是必要的(不需要特别精通,但至少要能理解基础内容)。
举例来说,像肉鸡、挂马、shell、WebShell等术语。
三、网络安全学习路线
先放上路线图
第一阶段:基础操作入门
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在1个月左右比较合适。在这个部分我介绍的课程和书籍都属于难度非常低的,就算是完全零基础的小白只要认真学也是能够学会的
课程我推荐下面这套Web安全入门基础课程,难度不大而且完全免费。这套课程至今已经有19万的学习人次,好评度99%。一共包含了40节课,课程内容主要包含了burp、awvs、cs、msf等当下主流工具的使用,而且每节课程都配备了练习靶场。听完课程后再去靶场进行练习,靶场当中有任何不懂的问题也可以在学习群里请教前辈,这样能够大大提升你的学习效率
在学习基础入门课程的同时,推荐同时阅读相关的书籍补充理论知识,这里比较推荐以下几本书:
- 《白帽子讲Web安全》
- 《Web安全深度剖析》
- 《Web安全攻防 渗透测试实战指南》
第二阶段:学习基础知识
在这个阶段,你已经对网络安全有了基本的了解。如果你认真看完了上面推荐的书籍和课程,相信你已经在理论上明白了上面是sql注入,什么是xss攻击,对burp、msf、cs等安全工具也掌握了基础操作。这个时候最重要的就是开始打地基!
所谓的“打地基”其实就是系统化的学习计算机基础知识。而想要学习好网络安全,首先要具备5个基础知识模块:
学习这些基础知识有什么用呢?
计算机各领域的知识水平决定你渗透水平的上限。
- 比如:你编程水平高,那你在代码审计的时候就会比别人强,写出的漏洞利用工具就会比别人的好用;
- 比如:你数据库知识水平高,那你在进行SQL注入攻击的时候,你就可以写出更多更好的SQL注入语句,能绕过别人绕不过的WAF;
- 比如:你网络水平高,那你在内网渗透的时候就可以比别人更容易了解目标的网络架构,拿到一张网络拓扑就能自己在哪个部位,拿到以一个路由器的配置文件,就知道人家做了哪些路由;
- 再比如你操作系统玩的好,你提权就更加强,你的信息收集效率就会更加高,你就可以高效筛选出想要得到的信息
这些基础该学到什么程度呢?
计算机各领域的知识水平决定你渗透水平的上限,但是零基础并不是要把上面的全部都学的很好再去搞渗透,那不仅会劝退大部分人,而且像我前面说的深度学习很容易学的囫囵吞枣,最后反而竹篮打水一场空
作为初学者,可以先学习基础。比如你先学一个编程语言的基础,用PHP做例子,你起码要懂if else这些、连接数据库;比如学数据库,用MySQL做例子,那至少也是要会增删改查、子查询这几个操作;网络的话比较难,也是很抽象的,你做外网的渗透,至少要懂基础的http协议,知道端口是什么,知道网站是怎么架设起来的;操作系统的基础相对比较好学,主要是各种命令的作用,各种软件的安装和使用
学习书籍和资源推荐:
《HTTP权威指南》
《Python核心编程》
《PHP和MySQL Web开发》
《JavaScript高级程序设计》
靶场:
Damn Vulnerable Web Application
Audi-1/sqli-labs
BUUCTF
bugku
网络信息安全攻防平台
第三阶段:实战操作
1.挖SRC
挖SRC的目的主要是讲技能落在实处,学习网络安全最大的幻觉就是觉得自己什么都懂了,但是到了真的挖漏洞的时候却一筹莫展,而SRC是一个非常好的技能应用机会
SRC平台:
2.从技术分享帖(漏洞挖掘类型)学习
观看学习近十年所有0day挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维,培养自己的渗透思维!
安全大佬博客:
书籍推荐:
- 《WEB之困-现代WEB应用安全指南》
- 《内网安全攻防渗透测试安全指南》
- 《Metasploit渗透测试魔鬼训练营》
- 《SQL注入攻击与防御》
- 《黑客攻防技术宝典-Web实战篇(第2版)》
到这一步,再加上之后对挖掘漏洞的技术多加练习与积累实战经验,基本就可以达到安全工程师的级别
最后
为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以点击免费领取(如遇扫码问题,可以在评论区留言领取哦)~
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
————————————————
👉CSDN大礼包🎁:全网最全《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)👈
![](https://img-blog.csdnimg.cn/img_convert/e27a9d4c3feb460be9930dd30984406d.png)