小白怎么系统的自学计算机科学和黑客技术?
我把csdn上有关自学网络安全、零基础入门网络安全的回答大致都浏览了一遍,最大的感受就是“太复杂”,新手看了之后只会更迷茫,还是不知道如何去做,所以站在新手的角度去写回答,应该把回答写的简单易懂,“傻瓜式”的一步步告诉他们应该怎么去做
在文章的后半部分,我会把一套完整的教学视频发给大家直接学。
1、安全基础(Linux+MySQL+Python)
网络安全这个行业对于编程开发这一块还是有一定要求的,举个简单的例子,你如果想渗透某个网站,那你首先要知道如何去开发一个网站,你连最基本的sql语句都不会写,那又何谈去做sql注入呢。
所以对各种网络通信协议,对密码学,对前后端,数据库,服务器,shell脚本等内容没有一定的了解,又怎么可能成为一个优秀的hacker呢。
要想控制一个人,首先你要了解他,你才能知道他的弱点,最后才能施展你的手段。
但无论哪个过程,都需要花费很长的时间与精力去学习与钻研。
上面这部分是学习网络安全必备的基础,这部分内容没有多大难度,也没有任何的逻辑性难度,只要多练多看,这部分内容就是熟能生巧的事情。
2、安全入门(黑客工具+漏洞挖掘)
有了前面的计算机网络和编程基础,这一阶段就可以来正式入门网络安全了。
网络安全领域内几大典型的攻击手法:SQL注入、XSS、CSRF、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。
对了,在这里友情提示一下:
千万注意别拿互联网上的网站来攻击学习!
千万注意别拿互联网上的网站来攻击学习!
千万注意别拿互联网上的网站来攻击学习!
这是违法的行为,重要的事情说三遍。
在学习的过程中,你自己可以在虚拟机中搭建一些包含漏洞的网站,拿自己建的网站练手,具体的实战靶场,我在后面也会给大家进行讲解。
除了这些攻击方法,这个时候我们也需要对常用渗透工具有一些简单的了解,这也是大部分同学非常感兴趣的一个版块,因为学会这些工具的使用,就可以晋升成为一个脚本小子了。
包含AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。
了解该类工具的用途和使用场景,先用软件名字Google/百度,然后下载无后门版的这些软件进行安装;
确立目标:找一份15K的网络安全岗位工作
如果你只是想成为一个脚本小子或学着随便玩玩,就不需要再往下看了。下面的内容是写给想要从事网络安全工作人看的,还需要至少学习3个月的时间才能完成。
我在最上面说过对于新手来说,对他们最友好的方式就是给他们一套从零基础学习最完整的视频教程,然后告诉他们:你只需要把这教程的全部内容都学会,把所有的作业、案例、项目都用代码写出来,你就可以找到一份网络安全的工作。这样是对于新手最简单粗暴的方式,如果我们写的过于专业,他们只会越看越迷茫,对于新手来说就是越简单越好,傻瓜式的学习最有效果。
3、安全进阶(内网渗透+DDos攻防+社会工程学)
前面学习了一些Web安全的攻击手法,但光有这些还不够,当我们有流量攻击目标后,如何寻找攻击点,获取目标的信息至关重要。
这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段。
除此之外,外网环境和内网环境是不一样的,别到时候从外面渗透,进到里面之后傻眼了,因此收集内部信息的技巧也是重中之重,比如渗透测试架构和windows密码凭证收集等等。
真正意义上的网络渗透,我觉得应该不只是使用一些现成的工具,去挖一些上古时代的漏洞,而是拥有很强大的自学和分析、解决问题能力,再调用十八般武艺去攻破某个站点。里面不乏自己编写写脚本与工具,自己发现新的攻击注入方式。
4、核心能力(安全管理+逆向免杀+代码审计)
到了安全攻防的后期阶段,想成为一个安全高手,绝不只是固步自封在自己擅长的领域,需要多学习网络安全的其他领域,拓展自己的知识面。
比如等级保护、应急响应、风险评估、逆向免杀、代码审计、二进制漏洞攻击、木马技术、内核安全、移动安全、侧信道攻击等等,当然在学习的时候,不用像专业方向的同学那么深入,但需要涉猎了解,丰富自己的知识面,构建全方位的网路安全知识技能栈。
5、小结
网络安全要学习的内容非常多非常杂,我以前写过一篇关于网络安全技术知识点的文章,下面评论的人都说内容太多了,根本就学不完之类的话。后来我吸取了教训,对于新手一定要简单粗暴,不能太过于复杂,越是复杂新手看的越迷茫。所以我这次写的内容是精简,初步入行学习这些内容就足够了。
6、大多数人必然会放弃:
这件事情,或者说这个职业。首先你得初衷不能是因为赚钱,因为太容易走歪了,黑产盛行,巨大的利益不断诱惑着通往技术的心,圈内这种沉不下心来浮躁的环境影响了太多的人,当初一起的朋友,现在还有在里面没出来的。
网络安全涉及的方面太广,对于我们来讲,不是因为这是个工作,而是因为浓厚的求知欲,浓厚的兴趣所引导。
而没有浓厚的兴趣引导很容易半途而废,原因大部分在于,这个东西并不是想象中的那么美好,学的东西太多 且枯燥 你要承担短时间内没有回报的结果,这很容易让人放弃。
当然你决心要学的话,我想还是得先学习网络基础,网络交互原理。最好先把TCP/IP啃一遍。有了基础再学习漏洞原理,然后学一门语言 来拓扑漏洞的存在原理,到后期可以自己写工具。由浅入深,知其然知其所以然。
7、如何找工作?
学习网络安全我建议在北京、上海、杭州、深圳这样的一线或新一线城市去找,发展一般的城市网络安全很难有立足之地,想要达到月薪30K以上,只能选择这些城市。
去招聘网站投简历肯定是机会最多的一种方式,但很多人的简历写的很差,所以写简历也是—门技术。
只要简历写的好,就有很多的面试机会,面试50家还拿不到10家offer吗?到时候工作就随便你找,前提也是技术能力过关。
还有一种方式就是通过别人介绍,其实在到后来,有了5年工作经验以后,就不需要投简历自己去找,如果你是一个优秀的程序员,就会有很多猎头去挖你。
目前这市场上的网络安全人员虽然多,但真正能称得上比较优秀的很少。所以多认识一些猎头或者HR,给自己以后铺路,这都是需要提前准备的,说白了能靠关系尽量靠关系。
如果你在大公司里面有认识的人,那么你想要进去就会方便很多,给你一个内推的机会,只要能过了技术这关,就进本能拿到offer。
找工作能往大厂进就去大厂,大厂福利待遇好,而且工资都稳定,不会出现发不出工资的情况。有了大厂的工作背景和项目背景后,以后在跳槽其他公司都会被疯抢,就不会在担心找不到工作的问题。
8、总结
以上就是我对刚入行网络安全的朋友的一些个人的建议,最后有一点需要说明一下:
上面列举到的不同方向的技术不是严格意义独立的,相反,很多时候是相辅相成,需要结合起来,融会贯通。
每个人的认知是有限的,我也不例外。本篇回答只是我的一家之言,建议大家多看一些人的总结和经验,横向对比,兼听则明,偏听则暗。
如果你想通过自学进入网络安全这一行,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,大部分我都看过,感觉还不错,如果需要的话可以评论区告诉我,或者点击蓝色字体获取奥
如果觉得有帮助的话,可以帮我点赞收藏一下,写的不对或不清楚的地方,也欢迎大家在评论区指出,谢谢!