您现在的位置是:首页 >技术教程 >自学黑客【网络安全】,一般人我劝你还是算了吧网站首页技术教程
自学黑客【网络安全】,一般人我劝你还是算了吧
有很多想要转行网络安全或者选择网络安全专业的人在进行决定之前一定会有的问题:什么样的人适合学习网络安全?我适不适合学习网络安全?
会产生这样的疑惑并不奇怪,毕竟网络安全这个专业在2017年才调整为国家一级学科,而且大众对于网络安全的认知度不高,了解最多的可能就是个人信息泄露或者社区经常宣传的国家反诈APP。正是因为知之甚少,所以会产生这一系列的疑问。
到底什么人适合学习网络安全呢?大名鼎鼎的“TK教主”就曾经提到过,做安全的人应该是“猥琐”的,当然这里的“猥琐”并不是贬义,而是会利用各种“奇淫巧技”“另辟蹊径”的意思,就是能够通过这些不一样的奇思妙想找到系统和软件设计、实现里面的“边边角角”,找到被大家忽悠的地方。
另外,学习网络安全的人通常都喜欢“抬杠”。做安全是一种把安全概念加入到设计实现中去,一种作为第三方审视系统的设计和实现,后一种就有点“挑毛病”的意思了,而且挑的“毛病”可能别人觉得不重要,还要“说服”别人。
适合学习网络安全的人也喜欢“瞎看”,安全是一个攻防对抗的过程,相对来说,易攻难守,因为防御是一个系统的事情,攻击只需要一个点一条路就能突破,新的角度看问题可能就有新的发现,甚至是降维打击。
适合学习网络安全的人肯定是“爱钻研”的,安全防御讲究系统、纵深,这就导致做安全肯定很繁琐,攻击的角度也是一样,需要研究和尝试大量的角度,在层层防御里面找到蛛丝马迹,所以对系统原理、编程语言、底层架构了解的越多越容易发现问题。
以上这些特点只是初步判定自己是否适合学习网络安全,但并不绝对。因为有很多特质会在学习的过程中耳濡目染,不知不觉就能够贴合网络安全人员的职业习惯,有可能会在学习的过程中越来越熟练,自然也就越来越适合。
也就是说,以上所说的特质并不能完全决定你适不适合学习网络安全。如果你没有前面所说的特质,后面的学习过程中还是可以培养出一些相关的专业素养,也有助于我们再学习的过程中越来越适合这个专业。以下这些素养都是可以进行培养的:
逻辑性强。信息安全是指对整个局域网的安全防护,包括防火墙、安全网关、入侵检测、入侵防御、加密机等等。思维要清晰,调整先后顺序,考虑连贯性,这些都可以对逻辑思维能力进行锻炼。
探索性强。学习网络安全专业就一定会涉及到安全防护方面的工作,主要目的是防止信息被非法泄露、更改、破坏或者使信息被非法的系统识别、控制。这些都是具有挑战性的工作,需要不断的发现漏洞、修复漏洞。
有耐心。学习网络安全免不了要学习编程敲代码,虽然不多,但是有代码的地方就会有bug,如果看不懂代码,那么一个很简单的bug就会浪费一小时、一天、甚至一个星期的时间。所以需要有足够的耐心来学习编程,也需要有足够的耐心来一点一点排查各种情况发生的原因,然后找到原因解决bug。
善于交流。很多工作都是需要团队合作的,网络安全专业也一样,除了交流技术经验,还需要多方面打交道,例如需要了解甲方的需求,然后同时表达自己的观点和想法。一个内向的人很有可能在这个过程中能变得侃侃而谈。
思想正确。互联网对于政治、经济和文化的影响不言而喻,保障网络安全已经成为了各国重要的议题。网络攻击从最初的自发式、分散式的攻击专向专业化的有组织的行为,呈现出攻击工具专业化、目的商业化、行为组织化的特点。网络安全相关的工作涉及到公司以及国家的信息安全,身兼重任,工作的时候会更注意道德底线和法律底线。
所以,如果你对网络安全感兴趣,即使没有天生的特质也可以一试,很多人都是在学习网络安全的过程中慢慢锻炼的。接下来,简单说说如何学习网络安全?
一、入门
我一直好奇一个问题,就是网安学到什么程度算是入门 ?
会用扫描器,知道漏洞类型算入门么 ?
能写EXP ,写扫描器算入门么 ?
能做代码审计,分析应急,逆向分析 算入门么?
个人觉得“入门”这个界限就很模糊 ,其实仔细想来,”网络安全“ 本来就是一个很大类别不是么。
与其说某某在”网络安全入门“了 , 不如我们换个说法,给”入门“这个词语加个注解: 入门就是想要完成我们做某件事的最低难度 , 这样一来就清晰一些了:
如果我们想要完成PHP代码审计: 那么会PHP,懂得常见漏洞类型,就算是入门了 ; 如果我们做等级保护:那么了解安全法规,明白常见问题也算是可以干活了 其他也是同理,先知道自己学习网络安全要做什么,才会更容易的界定“入门的界限”。
人云亦云的学习,很容易就陷入了迷茫区域:今天看大佬打CTF就学习分析,明天去看最新的1day , 后来又去分析XXX漏洞 ,每天都在学习,忙的不可开交,最后总结的时候感觉自己啥都会,但是啥都没有什么突出的亮点。
所以我建议不要给自己定义“入门”这种比较模糊的界限,定义一个明确且可执行的学习目标,并且向一个方向努力 :比如学习Java到面向对象,编写一个端口扫描器, 复现XXX漏洞环境与EXP,看完一个安全视频,通过一个个小目标的 来完成向一个大目标的跃进。
二、如何规划网络安全学习路线
如果你是一个安全行业的新人,我建议你先从网络安全或者Web安全/渗透测试这两个方向学起,一是市场需求量高,二则是发展相对成熟入门较为容易。
值得一提的是,学习网络安全,是先学网络后学安全;学Web安全,也是先学Web再学安全。
安全不是独立存在的,而是建立在其他技术基础之上的上层应用技术。脱离了这个基础,就很容易变成纸上谈兵,变成“知其然,不知其所以然”,在安全的职业道路上也很难走远。
如果你是原本从事网工运维,那么可以选择网络安全方向入门;如果你原本从事程序开发,推荐选择Web安全/渗透测试方向入门。
当然学到一定程度、或者有了一定工作经验,不同方向的技术耦合会越来越高,各个方向都需要会一点。
三、网络安全的知识多而杂,怎么科学合理安排?
第一部分:安全基础
1.1.网络安全行业与法规
1.2.Linux操作系统
1.3.计算机网络基础
1.4.HTLM基础
1.5.JavaScript基础
1.6.PHP 入门
1.7.MYSQL基础
1.8.Python编程
第二部分:Web安全
2.1.信息收集
2.2.SQL 注入漏洞
2.3.CSRF 漏洞
2.4.XSS 漏洞
2.5.文件上传漏洞
2.6.文件包含漏洞
2.7.SSRF 漏洞
2.8.XXE 漏洞
2.9.远程代码执行漏洞
2.10.密码暴力猜解与防御
2.11.JWT 渗透与防御
2.12.逻辑漏洞
2.13.Redis 未授权访问漏洞
2.14.反序列化漏洞渗透与防御
2.15.AWVS 漏洞扫描
2.16.Appscan 漏洞扫描
2.17.Nessus 漏洞扫描
2.18.Burp Sui te 从入门到实战
第三部分:渗透实战
3.1.CVE 漏洞复现
3.2.vulnhub 靶场实战系列
3.3.挖漏洞项目实战
3.4.实战漏洞挖掘经验分享
3.5.2023HW 实战专题
3.6.网络安全面试就业指导课
第四部分: 企业安全体系建设
4.1.等级保护
4.2.应急响应
4.3.代码审计
4.4.风险评估
4.5.安全巡检
4.6.数据安全
第五部分:后渗透
5.1.MSF-Metasploit Fram ework
5.2.CS-CobaltStrike
5.3.内网渗透
5.4.系统权限提升渗透与防御
第六部分:代码审计
6.1.MSF-Metasploit Framework
6.2.CS-CobaltStrike
6.3.内网渗透
6.4.系统权限提升渗透与防御
第七部分:二进制安全
7.1.汇编语言程序设计
7.2.C 语言编程入门
7.3.C++编程入门
7.4.Windows 逆向进阶版
7.5.免杀-反杀毒技术
7.6.安卓逆向
7.7.Web Js逆向
第八部分:协议漏洞
8.1.DOS 与 DDOS 参透与防御
8.2.无线相关渗透与防御
8.3.ARP 渗透与防御
第九部分:编程进阶
9.1.HTML5+CSS3 零基础到实战
9.2.Shell 编程
9.3.Golang 语法精讲
第十部分:CTF
10.1.CTF 夺旗赛
10.2.密码学与网络安全
总的来说只需学习10部分 时间4-6个月即成功学会了网安
四、资料总结
我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些资料哈
视频教程
SRC&黑客技术文档
黑客工具合集
五、结语
给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,能够帮大家节省大量的时间和精力成本。给自学的小伙伴们的意见是坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。