我四月份被裁员,找了两个月工作,面试寥寥无几,就算有也都是外包,而且外包也没面试通过。我经历了挫败,迷茫,自我怀疑。常常大半夜刷招聘软件,不断的修改简历,甚至有时候坐在沙发上焦虑到哭。好在,我一个大胆的决定意外让我找到了现在这份我很喜欢的工作,开发转做渗透。
一、迷茫中的探索
我一开始接触开发也不是发自兴趣,是因为被高薪吸引。半道子出家,也正好赶上了行业的红利期,我先是进了五百强外企,后跳槽进一家大型国企,也就是被裁员的这家公司,要是公司不裁我,我是打算干到退休的,因为上班时间和福利都特别好,可天下没这么多好事。被裁的前一天还在敲代码,第二天就谈话走人。截止到今年四月,干开发整整六年。其实我也不是很喜欢开发的工作,只是做的久了,除了开发我也不知道干嘛,我也啥都不会 ,开发水平也一般,之前主要就是做业务开发,什么底层逻辑,什么算法我都不行,这也导致我面试屡屡失败。找了两个月没找着合适的开发工作,我开始想我能干什么。
做开发的几年里,我的性格变得很机械,遇到事情喜欢分对错,对就是对,错就是错,不太懂的变通。我相信大部分做开发小伙伴都是这样的吧,因为开发工作只需要管好自己的一亩三分地就好了,其他的事情一概不用操心。所以会看不惯职场舔狗,也不喜欢打理人际关系。这导致我在找工作的时候首先排除了销售,我不是这块料子。但现在市面上除了销售,除了开发,还有什么是我目前能拿到高薪的岗位呢,好像都没有。而且我还要考虑到我未来几年的职业发展,做什么工作才会不容易被裁员,哪怕裁员了也不愁工作。思来想去,我盯上了近几年很火的网络安全行业,这个岗位了解下来还是非常适合程序员转行的,我觉得网安很有挑战性,不仅能发挥我的技术优势,还能为社会做出贡献。于是,我开始利用业余时间学习网络安全相关知识,逐步踏上转型之路。
二、跨出舒适区,勇攀网安高峰
转型并非一帆风顺。刚开始学习网安时,他感到十分吃力。网络安全涉及的知识点广泛,包括网络协议、操作系统、编程语言等。此外,实战经验尤为重要,而我在这方面几乎为零。
为了弥补自己的不足,我报名参加了网络安全培训班,结识了许多志同道合的朋友。一起讨论技术问题,共同进步。在培训班的学习过程中,我逐渐找到了自己的方向:专注于Web安全领域。
有一次,我在课堂上学习了SQL注入攻击,觉得非常有趣。课后,我花了很多时间研究这个漏洞,最终成功地在一个网站上实现了攻击。这次成功的实践,让我信心大增,更加坚定了转型网安的决心。
三、披荆斩棘,终获成功
经过一段时间的学习和实践,我不仅掌握了各种网络安全技术,还积累了一定的实战经验。在一次网络安全比赛中,凭借出色的表现,我获得了企业方的青睐,顺利入职一家知名网络安全公司。
如今的我,是公司的一名安全研究员,负责为客户提供安全评估和防护方案。很庆幸自己当初选择了转型网安。这个领域充满了挑战和机遇,让我重新找到了职业发展的动力。
四、给有意转型网安的程序员的建议
勇于尝试:不要害怕走出舒适区,勇敢地去尝试新领域。
持续学习:网络安全知识更新迅速,要保持学习热情,不断提升自己。
实战为王:理论知识固然重要,但实战经验更为关键。多参与实战项目,锻炼自己的技能。
拓展人脉:结识更多同行,互相学习、交流,共同进步。
五、如何自学
1、如果你已经决定好了,想往网络安全行业发展。首先您得先明确您的学习目标,这个多久学完才有意义。我这里总结了几个学习目标和大概学习时间供你参考:
如果你是初级入门学理论上个班如果咋们还是个网络安全小白,想学点理论找份网络安全的工作上班。那这个就比较简单,直接参考安全的认证体系去自学,基本理论你也就掌握了。下面我罗列几个认证的学习和考试时间:
-
①、CISAW认证中文名叫做“信息安全保障人员”。这个属于初级认证,如果交钱培训学习时间比较快,有计算机基础大概也就2周时间内可以搞定。如果是自学,有计算机基础大概需要花费1-2个月左右。这个时间见仁见智,我本人报名培训并考证,花了1周时间搞定。没有计算机基础的,恐怕得花半年到1年时间。
-
②、CISP认证中文名叫做“注册信息安全专业人员”。这个属于中级认证,这套课程如果参加培训班学习,有计算机基础和初步安全基础的话大概需要也就1个月。如果自学,有计算机基础和初步安全基础的话,也需要3-4个月左右。没有一点计算机基础的,建议从计算机基础开始,然后学习初级的安全,再来学习这个中级的。恐怕时间的1-2年。
2、如果你是中级防御专职做安全如果要专职做安全,必须得到中级以上,建议把前面讲到的CISP考一个认证回来。考完了,你还只是掌握了理论。这里还不能叫学完,只有实践了才叫真正的学完。所以,专职安全我们就还得实践。实践方法建议采用“去安全公司上班实践”。这种方法应该是最佳做法。既可以在真实环境中实践各种安全设备的防御技术原理,还可以跟着前辈们一起快速处理安全事件积累经验。
补充说明:不要急于求成,尤其是攻击技术先不要去碰。因为安全是一个综合学科,覆盖了计算机软件、操作系统、存储、网络、代码编程。
3、如果你是高级攻防专家级安全如果需要做高级攻防专家。这个时候,你就需要学习黑客攻击技术。但千万不要以为学习这个是为了来攻击别人,我们学习攻击的目的是为了做到知己知彼,更好的防御黑客的攻击。学习途径虽然也叫自学,但是这里更多的是积累实战经验。所以时间可能需要3-5年或者更长。
学习这方面的知识可以学从网站开发开始,比如说web前端的html、css、javascript这些,学习这些的话,可以去菜鸟教程进行一方面的学习,还有网站的后台。wbe安全中需要学习的工具,白帽子常见的工具:sqlmap、nmap、awvs、appscan、msf这些都需要去学习和研究,当然还有常见的web漏洞:sql注入、xss漏洞、上传漏洞、csrf、ssrf、文件包含、以及一些文件读取、逻辑漏洞(逻辑越权、逻辑支付等漏洞)。
如果你不想去找学习资源我也可以分享给你,我都整理好了下面这些资料(扫码下方就能免费领取)
网络安全学习路线
先放上路线图
第一阶段:基础操作入门
入门的第一步是学习一些当下主流的安全工具课程并配套基础原理的书籍,一般来说这个过程在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协议,知道端口是什么,知道网站是怎么架设起来的;操作系统的基础相对比较好学,主要是各种命令的作用,各种软件的安装和使用
网络安全学习路线&学习资源
网络安全的知识多而杂,怎么科学合理安排?
下面给大家总结了一套适用于网安零基础的学习路线,应届生和转行人员都适用,学完保底6k!就算你底子差,如果能趁着网安良好的发展势头不断学习,日后跳槽大厂、拿到百万年薪也不是不可能!
初级网工
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k
到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?
7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.
零基础入门,建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习; 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime; ·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完; ·用Python编写漏洞的exp,然后写一个简单的网络爬虫; ·PHP基本语法学习并书写一个简单的博客系统; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选); ·了解Bootstrap的布局或者CSS。
8、超级网工
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,贴一个大概的路线。感兴趣的童鞋可以研究一下,不懂得地方可以【点这里】加我耗油,跟我学习交流一下。
网络安全工程师企业级学习路线
如图片过大被平台压缩导致看不清的话,可以【点这里】加我耗油发给你,大家也可以一起学习交流一下。
一些我自己买的、其他平台白嫖不到的视频教程:
需要的话可以扫描下方卡片加我耗油发给你(都是无偿分享的),大家也可以一起学习交流一下。
网络安全学习路线&学习资源
结语
网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。
特别声明:
此教程为纯技术分享!本书的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本书的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失!!!