笔者本人 17 年就读于一所普通的本科学校,20 年 6 月在三年经验的时候顺利通过校招实习面试进入大厂,现就职于某大厂安全联合实验室。
我为啥说自学黑客(网络安全),一般人我还是劝你算了吧。因为我就是那个不一般的人。
首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于网络安全工程师,他们大都是培训机构培训出来的,具备的基本都是防御和白帽子技能,他们绝大多数的人看的是工资,他们是为了就业而学习,为了走捷径才去参加培训。
而我进大厂主要是靠自学内推进来是,当时我才20岁,基于对黑客的热爱,我每次工作做完了,就天天抱着本书看,甚至不会计较和主动研究各个技术和包揽一些任务(和大多数躺平族不一样),可能还是觉得自己不足,我又把tcp/ip协议大全,路由交换°这些基础啃了一遍,c++都学了一阵子。基于自己的学校出身,我身上也不可避免存在一些自卑心理,老觉得自己是野路子出来,想游击队变正规军系统的梳理。我近个月还在看php(对就是那个最好的编程语言)、后续我也打算在看http权威指南。工作之余还把几个厂家的设备也主动请缨的摸熟了,可能我身上的这些“匠心”的精神。这就是我不一般的表现吧!
1.打基础的时间长
学基础花费了很长的时间,光学语言都有好几门,有的人会止步于学习linux系统及命令的路上,更多的人会停在学习语言上面;
2.知识点掌握的不够清楚
对于网络安全基础内容,很多人不清楚到底需要学到什么程度,导致在基础上花费了太多的时间;很多同学,买了HTML,PHP,数据库,计算机网络
等书籍,每本还很厚,很多写得也很深,却发现越学越没自信,别人学个PHP或者数据库就可以找到工作,而网络安全要学这么多,越来越怀疑自己到底是不是选错了方向;
3.知识点不清楚重点
很多同学花费了很大精力学完了基础内容,但是发现很多知识和后续网络安全关联不大,没有分清重点,浪费了很多的时间;
4.知识点学习不够系统
看到很多同学在b站找了好多学习视频,也到别的平台购买了一些小课,百度云盘上也有1-2T的学习资料和视频内容,但每学完一类都需要花费不少的时间,且内容很多有重复性,学完SQL注入后,后面又看到另一家讲这个SQL注入,还不错,又会去学习一遍,发现学完所有web漏洞原理后,自己还是不太确定自己是否把Web漏洞这块的知识点学全了没有,导致自己到底学没学完都不知道;
5.自己解决问题的能力不足
对于初学者来说,很多人都会自己搭建一些靶场,但是由于配置环境的原因,耽误的时间会很多,尤其对于初学者碰到连续3个问题无法解决的时候,很容易放弃;对于一些动手能力较差的同学,这块可能会直接影响到继续学习的信心;
6.实战水平不足
对于学网络安全,渗透测试方向的技术,其实很大程度上学习的就是“黑客”技术,通过学习怎么进攻和入侵,才能够更清楚系统和应用怎么去防御;而这块也恰恰是网络安全的核心,如果光有理论,实战经验少,也是较难去就业;在平时学习中,除了可以搭建一些开源的靶场用于练习,最好还是要有真实漏洞组成的靶场用于学习,当然也可以去SRC平台去渗透测试一些真实网站(一定要获得授权才可以渗透真实网站),但是难度发现又比较大,很多初学者会丧失信心,怀疑自己的能力;
7.内网的学习困难比较大
Web渗透这块的资料在互联网各各平台到处都是,学习起来相对较为轻松,但是内网这块的资料在互联网平台上面相对较少,能够借鉴的资料不多,另外也需要有相应的靶场配合练习,才能有技术上的提高和经验的积累,学习难度会比较大。
1、网络安全技术方面
包括端口、服务漏洞扫描、程序漏洞分析检测、权限管理、入侵和攻击分析追踪、网站渗透、病毒木马防范等。
2、对计算机系统有深入的了解,掌握常用的编程语言
例如windows及企业常用的linux系统,编程语言如:Java、php 、python、c、c++。编程语言理论上来说是多多益善, 如果精力不足,至少要会常用的。
3、了解主流网网络安全产品
比如防火墙、入侵检测系统、扫描仪等等。
4、安全协议方面
这部分内容很多和web安全是相通的。熟悉sql 注入原理和手工检测、熟悉内存缓冲区溢出原理和防范措施、熟悉信息存储和传输安全、熟悉数据包结构、熟悉ddos攻击类型和原理有一定的ddos 攻防经验,熟悉iis安全设置、熟悉ipsec、组策略等系统安全设置。
5、机器学习算法
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。
6、人工智能
人工智能是研究使计算机来模拟人的某些思维过程和智能行为的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。
7、大数据分析
大数据分析是指对规模巨大的数据进行分析。大数据可以概括为4个V, 数据量大(Volume)、速度快(Velocity)、类型多(Variety)、价值(Value)。大数据作为时下最火热的IT行业的词汇,随之而来的数据仓库、数据安全、数据分析、数据挖掘等等围绕大数据的商业价值的利用逐渐成为行业人士争相追捧的利润焦点。
8、逆向汇编
汇编语言是一切程序的起点和终点,毕竟所有的高级语言都是建立在汇编基础之上的。在许多高级语言中我们都需要相对明确的语法,但是在汇编中,我们会使用一些单词缩写和数字来表达程序。 一句话总结,咱们搞网络安全的人简直是全能型人才,文能提笔安天下,武能上马定乾坤,说的有点浮夸了。
我们落到具体的技术点上来,网络安全学习路线,整体学习时间大概半年左右,具体视每个人的情况而定。
如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。
1、Web安全相关概念(2周)
2、熟悉渗透相关工具(3周)
3、渗透实战操作(5周)
掌握渗透的整个阶段并能够独立渗透小型站点。 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);
4、关注安全圈动态(1周)
5、熟悉Windows/Kali Linux(3周)
6、服务器安全配置(3周)
7、脚本编程学习(4周)
8、源码审计与漏洞分析(3周)
9、安全体系设计与开发(5周)
这里可以参考下面这张成长路线图:
我也整理了一些网安学习资料
部分内容展示
视频教程
1、很多已经买不到的绝版电子书 2、安全大厂内部的培训资料 3、全套工具包 4、100份src源码技术文档 5、网络安全基础入门、Linux、web安全、攻防方面的视频 6、应急响应笔记 7、 网络安全学习路线 8、ctf夺旗赛解析 9、WEB安全入门笔记
CSDN大礼包:《黑客&网络安全入门&进阶学习籽料包》免费领取
最后,给大家整理了一个简单的学习方法,可以借鉴:
1. 多看书
阅读永远是最有效的方法,尽管书籍并不一定是最好的入门方式,但书籍的理解需要一定的基础;但是就目前来看,书籍是比较靠谱的入门资料。
例如:《黑客攻防---web安全实战详解》《Web前端黑客技术揭秘》《安全之路:Web渗透技术及实战案例解析(第2版)》
现在Web安全书籍比较多,因此大家在学习的过程中可以少走了不少的弯路。如果以上推荐书籍阅读有困难,那就找自己能看得进的 Web 安全的书。
当然纸上谈兵终觉浅,不实践一下怎么好呢。
2.常用工具的学习
1.Burpsuite学习 Proxy 抓包改包学习 Intruder 爆破模块学习实用 Bapp 应用商店中的插件2.Nmap使用 Nmap 探测目标主机所开放的端口使用 Nmap 探测目标主机的网络服务,判断其服务名称及版本号3.SQLMap对 AWVS 中扫描出的 SQL 注入漏洞使用 SQLMap 进行数据获取实践常见漏洞类型的挖掘与利用方
3.学习开发
1.书籍《细说 PHP》
2.实践使用 PHP 写一个列目录的脚本,可以通过参数列出任意目录的列表使用 PHP 抓取一个网页的内容并输出使用 PHP 抓取一个网页的内容并写入到Mysql数据库再输出。
也可以找一个培训班,系统的学习一下,都是可以的。
说实话,上面讲到的资料包获取没有任何门槛。 但是,我觉得很多人拿到了却并不会去学习。 大部分人的问题看似是 “如何行动”,其实是 “无法开始”。 几乎任何一个领域都是这样,所谓 “万事开头难”,绝大多数人都卡在第一步,还没开始就自己把自己淘汰出局了。 如果你真的确信自己喜欢网络安全/黑客技术,马上行动起来,比什么都重要。
网络安全领域就像是一棵硕果累累的参天大树,底下站着无数观望者,他们都声称自己喜欢网络安全,想上树摘果,但面对时不时垂下来的藤枝,他们却踌躇不前,犹豫不决。
实际上,只要任意抓住一根藤枝,都能爬上这棵树。 大部分人缺的,就是这么一个开端。