自学黑客(网络安全)

L世界凌乱了 2024-09-09 09:37:01 阅读 79

前言:

想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客!

网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。

无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性,例如 Web 安全技术,既有 Web 渗透,也有 Web 防御技术(WAF)。作为一个合格的网络安全工程师,应该做到攻守兼备,毕竟知己知彼,才能百战百胜。

 一、自学网络安全学习的误区和陷阱

在如今的网络时代,越来越多的人开始自学网络安全知识。然而,自学过程中存在一些误区和陷阱,需要我们加以注意。

1、误区

只重理论,忽视实践很多人在自学网络安全时,大量时间用于阅读理论知识,却很少进行实际操作。但网络安全是实践性很强的领域,只有通过实践才能真正掌握技术。盲目追新,忽略基础网络安全技术不断更新,一些人盲目追求新技术,却不重视基础知识。而扎实的基础是理解和应用新技术的关键。单一学习,缺乏综合网络安全涉及多个领域,有人只专注于一个方面,如渗透测试或 Web 安全,忽略了综合能力的培养。

2、陷阱

低质资源网络上的学习资源质量参差不齐,选择低质量的资源可能学到错误知识或浪费时间。无计划学习缺乏系统性学习计划,随意选择学习内容,会导致效率低下且易遗漏重要知识点。过度依赖工具只学工具使用,不理解背后原理,难以应对复杂的网络安全问题。

二、学习网络安全的一些前期准备

1、基础知识储备

熟悉计算机基础知识,包括操作系统(如 Windows、Linux)的基本操作、文件系统、进程管理等。了解网络基础知识,如 IP 地址、子网掩码、路由、TCP/IP 协议等。掌握一门编程语言,比如 Python,它在网络安全领域应用广泛,可以用于脚本编写、漏洞利用等。

2、学习资源收集

书籍:可以选择一些经典的网络安全书籍,如《白帽子讲 Web 安全》《黑客攻防技术宝典》等,系统地学习网络安全知识。在线课程:现在有很多平台提供网络安全课程,例如 Coursera、Udemy、网易云课堂等,可以根据自己的需求选择适合的课程。技术博客和论坛:关注一些知名的网络安全技术博客和论坛,如 FreeBuf、安全客等,了解最新的行业动态和技术分享,还可以在上面与其他学习者交流和讨论。

3、实验环境搭建

安装虚拟机软件,如 VMware 或 VirtualBox,以便在自己的电脑上创建多个虚拟操作系统环境,进行各种网络安全实验。选择一个适合的操作系统,如 Kali Linux,它集成了很多网络安全工具,可以方便地进行渗透测试、漏洞扫描等操作。准备一些靶场环境,如 DVWA(Damn Vulnerable Web Application)等,用于练习漏洞挖掘和修复。

4、思维方式培养

培养逻辑思维能力,网络安全涉及到很多逻辑推理和分析,能够准确地找出问题的关键所在。具备批判性思维,不盲目相信各种信息,对网络安全事件和技术进行深入思考和分析。养成好奇心,不断探索新的技术和方法,发现潜在的安全问题。

5、时间和精力规划

网络安全知识体系庞大,学习需要投入大量的时间和精力,要制定合理的学习计划,确保有足够的时间进行学习和实践。合理分配时间,既要学习理论知识,也要进行实际操作,避免只学不练或只练不学。保持学习的热情和毅力,网络安全学习过程中可能会遇到各种困难和挑战,要坚持不懈地努力。

三、网络安全学习路线

如果你真的想通过自学的方式入门web安全的话,那建议你看看下面这个学习路线图,具体到每个知识点学多久,怎么学,自学时间共计半年左右,亲测有效(文末有惊喜):

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漏洞利用等等); 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己; 思考渗透主要分为几个阶段,每个阶段需要做那些工作,例如这个:PTES渗透测试执行标准; 研究SQL注入的种类、注入原理、手动注入技巧; 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架; 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki,可以参考:XSS; 研究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配置,特别注意配置安全和运行权限,可以参考:SecWiki-配置; Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等,可以参考:SecWiki-配置; 远程系统加固,限制用户名和口令登陆,通过iptables限制端口; 配置软件Waf加强系统安全,在服务器配置mod_security等系统,参见SecWiki-ModSecurity; 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁。

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

选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习。 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime,一些Sublime的技巧:SecWiki-Sublime; Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完; 用Python编写漏洞的exp,然后写一个简单的网络爬虫,可参见SecWiki-爬虫、视频; PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频; 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选); 了解Bootstrap的布局或者CSS,可以参考:SecWiki-Bootstrap;

四、补全知识框架(学习内容)

在整理好自己的知识框架,知道该怎么学习之后,下一步就是往框架里面填充内容了。 此时我们的选择也可以很多,比如CSDN,比如知乎,再比如B站,都有很多人在分享自己的学习资料,但我觉得这里存在的很大一个问题就是不连贯、不完善,大部分免费分享的教程,都是东一块西一块,前言不搭后语,学着学着就蒙了,这是我自学之后的亲身感受。

点赞收藏评论区留言“已关注 求 ”!都可以分享给大家!大家注意看后台消息就行!

给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

点赞收藏评论区留言“已关注 求 ”!都可以分享给大家!大家注意看后台消息就行!

五、网络安全前景

人才需求量很大的,市场空缺大,像物联网网应用的普及、5G的普及等,都会增加网络安全岗位的需求。

从长久来看,网络安全只会越来越火,智能学科的崛起必定带动新型的网络安全技术发展。

网络安全未来三大发展方向:

网络安全(安全等保)

云原生安全 AI

人工智能在网络安全的运用( ChatGPT )

发展空间大:

在企业内部,网络工程师基本处于"双高"地位,即地位高、待遇高。就业面广,一专多能,实践经验适用于各个领域。

增值潜力大:

掌握企业核心网络架构、安全技术,具有不可替代的竞争优势。职业价值随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨。

职业寿命长:

网络工程师工作的重点在于对企业信息化建设和维护,其中包含技术及管理等方面的工作,工作相对稳定,随着项目经验的不断增长和对行业背景的深入了解,会越老越吃香。

六、书单推荐:

点赞收藏评论区留言“已关注 求 ”!都可以分享给大家!(包含电子书单)

计算机操作系统:

【1】编码:隐藏在计算机软硬件背后的语言

【2】深入理解操作系统

【3】深入理解windows操作系统

【4】Linux内核与实现

编程开发类:

【1】编码:隐藏在计算机软硬件背后的语言

【2】深入理解操作系统

【3】深入理解windows操作系统

【4】Linux内核与实现

编程开发类:

【1】 windows程序设计

【2】windwos核心变成

【3】Linux程序设计

【4】unix环境高级变成

【5】IOS变成

【6】第一行代码Android

【7】C程序语言设计

【8】C primer plus

【9】C和指针

【10】C专家编程

【11】C陷阱与缺陷

【12】汇编语言(王爽)

【13】java核心技术

【14】java编程思想

【15】Python核心编程

【16】Linuxshell脚本攻略

【17】算法导论

【18】编译原理

【19】编译与反编译技术实战

【20】代码整洁之道

【21】代码大全

【22】TCP/IP详解

【23】Rootkit : 系统灰色地带的潜伏者

【24】黑客攻防技术宝典

【25】加密与解密

【26】C++ 反汇编与逆向分析技术揭秘

【27】web安全测试

【28】白帽子讲web安全

【29】精通脚本黑客

【30】web 前端黑客技术揭秘

【31】程序员的应用

【32】英语写作手册:风格的要素

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。