【2024详细版】网络安全(黑客)自学路线

我在CSDN上面经常会看到这一类的问题:

学习XXX知识没效果;

学习XXX技能没方向;

学习XXX没办法入门;

给你一个忠告,如果你完全没有基础的话,前期最好不要盲目去找资料学习,因为大部分人把资料收集

好之后,基本上都是放在收藏夹吃灰,同时资料收集的多了,学起来就会迷茫,也会让自己很有压力。

磨刀不误砍柴工,如果你是准备自学的话,要分步骤去进行:

第一步:搭建自学知识框架,具体怎么搭建学习框架,在后面我会讲;

第二步:按照学习框架给自己定制阶段性的学习计划和目标,最好是按周自我反馈和调整;

第三步:针对每周的学习计划寻找合适的自学资源,注意,只找当前需要的,不要贪多

第四步:找几个懂得人,和他们处理好关系,后面学习过程中遇到问题还能有人给你解答;

这些都要一步一步来,不要想着一口气吃成一个大胖子。

搭建学习框架也是有诀窍的,比如我常用的三种方式:

和牛人成为朋友,身边的朋友或公司的同事都可以,但要注意,记得请人家吃饭联络好感情,不然到关键时刻,很少有人会去帮你;

从各个博客网站上面搜索想了解的知识点路线图,然后找高赞的博文,基本上不会差,但要注意辨别真伪;

多找几个培训机构,看他们整理的课程大纲是什么样的,涉及哪些知识点,然后做归类汇总,具体的我就不说了,免得让大家认为我在给培训机构打广告;

废话不多说,先上一张图镇楼,看看网络安全有哪些方向,它们之间有什么关系和区别,各自需要学习哪些东西。

(上传一直很模糊,所以就没有展开了,需要高清版的可以在下面自取)

CSDN网络安全/黑客大礼包获取~

在这个圈子技术门类中,工作岗位主要有以下三个方向:

复制代码
安全研发
安全研究:
二进制方向
安全研究:
网络渗透方向

下面逐一说明一下。

第一个方向:安全研发

你可以把网络安全理解成电商行业、教育行业等其他行业一样,每个行业都有自己的软件研发,网络安全作为一个行业也不例外,不同的是这个行业的研发就是开发与网络安全业务相关的软件。

既然如此,那其他行业通用的岗位在安全行业也是存在的,前端、后端、大数据分析

等等,不过除了这类通用开发岗位,还有一部分与安全业务紧密相关的研发岗位。

这个分类下面又可以分为两个子类型:

做安全产品开,做防

做安全工具开发,做攻

防火墙、IDS、IPS

WAF(Web网站应用防火墙)

数据库网关

NTA(网络流量分析)

SIEM(安全事件分析中心、态势感知)

大数据安全分析

EDR(终端设备上的安全软件)

DLP(数据泄漏防护)

杀毒软件

安全检测沙箱

总结一下,安全研发的产品大部分都是用于检测发现、抵御安全攻击用的,涉及终端侧(PC电脑、手机、网络设备等)

开发这些产品用到的技术主要以C/C++、Java、Python三大技术栈

为主,也有少部分的GoLang、Rust。

安全研发岗位,相对其他两个方向,对网络安全

技术的要求要低一些(只是相对,部分产品的研发对安全技能要求并不低),甚至我见过不少公司的研发对安全一无所知。在这种情况下,如果除了基本的开发功底以外,对网络安全技术有所了解,自然会是你面试这些岗位时的加分项。

第二个方向:二进制安全

二进制安全方向,这是安全领域两大技术方向之一。

这个方向主要涉及到软件漏洞挖掘、逆向工程、病毒木马分析等工作,涉及操作系统内核分析、调试与反调试、反病毒等技术。因为经常都是与二进制的数据打交道,所以久而久之用二进制安全来统称这个方向。

这个方向的特点是:需要耐得住寂寞。

比不上安全研发可以有实实在在的产品输出,也比不上网络渗透方向听起来的狂拽炫酷,这个方向更多时间是在默默的分析和研究。

以漏洞挖掘为例,光是学习五花八门的攻击手法就需要花不少的时间。在这个领域,为了研究一个问题,可能花费数月甚至数年时间,这绝非一般人能坚持下来的。不仅如此,不是勤奋就可以成功,更多还要靠天分。

像腾讯几大安全实验室的掌门人,业界知名的TK教主、吴石

这些人物,他们已经深谙漏洞挖掘

的奥义,并将这门绝技融会贯通,做个梦都能想到新的玩法。不过像这样的天才实在是少之又少,绝大多数人都无法企及。

如果说程序员是苦逼的话,那二进制安全研究就是苦逼Plus

第三个方向:网络渗透

这个方向更符合于大部分人对"黑客"的认知,他们能够黑手机、黑电脑、黑网站、黑服务器、黑内网,万物皆可黑。

相比二进制安全方向,这个方向初期更容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就多了。

网络渗透的方向更偏向于"实战",因此对技术在广度上有更高的要求,从网络硬件设备、网络通信协议、网络服务(web、邮件、文件、数据库等)、到操作系统、攻击手法等等都需要了解。更偏向于一个全能型的计算机专家,将各种技术融会贯通,以用于"实战"。

下面开始说说学习路线的问题,内容有点长,可以先点个赞,这样不迷路

及时找得回来哦。

怎么入门?

聊完宏观的,我们再落到具体的技术点上来,给你看看我给团队小伙伴制定的Web安全学习路线,整体大概半年左右,具体视每个人的情况而定。

如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。

(友情提示:觉得有帮助的话可以收藏一下本篇,免得后续找不到)

1、Web安全相关概念(2周)

熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等)。

通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;

阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;

看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);

2、熟悉渗透相关工具(3周)

熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。

了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;

下载无后门版的这些软件进行安装;

学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;

待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;

3、渗透实战操作(5周)

掌握渗透的整个阶段并能够独立渗透小型站点。

网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);

自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;

思考渗透主要分为几个阶段,每个阶段需要做那些工作;

研究SQL注入的种类、注入原理、手动注入技巧;

研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;

研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki;

研究Windows/Linux提权的方法和具体使用;

4、关注安全圈动态(1周)

关注安全圈的最新漏洞、安全事件与技术文章。

通过SecWiki浏览每日的安全技术文章/事件;

通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;

通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;

养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;

多关注下最新漏洞列表,推荐几个:exploit-db

、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。

关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference。

5、熟悉Windows/Kali Linux(3周)

学习Windows/Kali Linux基本命令、常用工具;

熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill等;

熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;

熟悉Kali Linux系统下的常用工具,可以参考SecWiki,《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;

熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》。

6、服务器安全配置(3周)

学习服务器环境配置,并能通过思考发现配置存在的安全问题。

Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,;

Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;

远程系统加固,限制用户名和口令登陆,通过iptables限制端口;

配置软件Waf加强系统安全,在服务器配置mod_security等系统;

通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。

7、脚本编程学习(4周)

选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。

搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;

用Python编写漏洞的exp,然后写一个简单的网络爬虫;

PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;

熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);

了解Bootstrap的布局或者CSS;

8、源码审计与漏洞分析(3周)

能独立分析脚本源码程序并发现安全问题。

熟悉源码审计的动态和静态方法,并知道如何去分析程序;

从Wooyun上寻找开源程序

的漏洞进行分析并试着自己分析;

了解Web漏洞的形成原因,然后通过关键字进行查找分析;

研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

9、安全体系设计与开发(5周)

能建立自己的安全体系,并能提出一些安全建议或者系统架构。

开发一些实用的安全小工具并开源,体现个人实力;

建立自己的安全体系,对公司安全有自己的一些认识和见解;

提出或者加入大型安全系统的架构或者开发;

这个路线图已经详细到每周要学什么内容,学到什么程度,可以说我整理的这个We安全路线图对新人是非常友好的,除此之外,我还给团队小伙伴整理了相对应的学习资料,如果你需要的话,我也可以分享一部分出来(涉密部分分享不了),需要的可以在下面自取!


CSDN网络安全/黑客大礼包~~

如果觉得有帮助的话,可以帮我点赞收藏一下,写的不对或不清楚的地方,也欢迎大家在评论区指出,谢谢!

相关推荐
用户962377954488 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机11 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机11 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544812 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star13 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544816 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
蝎子莱莱爱打怪5 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
一次旅行5 天前
网络安全总结
安全·web安全