自学黑客(网络安全)

前言:

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

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

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

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

1.片面追求工具使用

  • 误区:过度依赖现成的安全工具,而不深入理解其背后的原理和技术。
  • 陷阱:只学会操作工具而无法应对新的、复杂的安全问题,一旦工具无法解决,就会陷入困境。

2.忽视基础知识

  • 误区:急于学习高级的攻击和防御技术,忽略了计算机基础、网络基础、操作系统等基础知识。
  • 陷阱:导致知识体系不牢固,在面对实际问题时缺乏系统的分析和解决能力。

3.缺乏实践

  • 误区:仅仅阅读理论知识,没有进行实际的操作和实验。
  • 陷阱:无法真正掌握技术,理论与实际脱节,难以应对实际的网络安全场景。

4.不注重法律和道德规范

  • 误区:认为在自学过程中可以随意尝试攻击他人系统来练习。
  • 陷阱:可能会触犯法律,给自己带来严重的后果。

5.盲目跟风学习热门技术

  • 误区:看到某种技术热门就马上投入学习,而不考虑自身的基础和实际需求。
  • 陷阱:无法形成系统的知识体系,对技术的理解也可能只停留在表面。

6.独自学习,缺乏交流

  • 误区:完全依靠自己摸索,不与其他学习者或行业专家交流。
  • 陷阱:进步缓慢,容易走入死胡同,错过最新的行业动态和最佳实践。

7.没有系统的学习计划

  • 误区:学习内容和顺序混乱,想到什么学什么。
  • 陷阱:知识碎片化,难以整合和深入,影响学习效果和效率。

8.轻易相信不可靠的资源

  • 误区:从来源不明或质量不可靠的渠道获取学习资料和信息。
  • 陷阱:可能学到错误或过时的知识,导致学习方向偏差

为了避免这些误区和陷阱,在自学网络安全时,要制定合理的学习计划,注重基础知识,多实践,遵守法律法规,积极参与交流,筛选可靠的学习资源。

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

在开始学习网络安全之前,您可以做以下一些前期准备:

1.基础知识储备

  • 熟悉计算机操作系统,如 Windows、Linux 等,了解系统的基本操作、文件管理和权限设置。
  • 掌握计算机网络基础知识,包括 TCP/IP 协议、IP 地址、子网掩码、网关等概念。
  • 学习一门编程语言,例如 Python,这将有助于您编写脚本和工具来辅助学习和实践。

2.硬件设备

  • 拥有一台性能较好的计算机,能够支持运行虚拟机、各种安全工具和进行实验。

3.软件和工具

  • 安装虚拟机软件,如 VMware Workstation 或 VirtualBox,用于创建不同的操作系统环境进行实践。
  • 准备一些常用的网络安全工具,如 Wireshark(网络数据包分析工具)、Nmap(网络扫描工具)等。

4.学习资料

  • 收集相关的网络安全书籍,如《Web 安全攻防:渗透测试实战指南》《白帽子讲 Web 安全》等。
  • 关注一些网络安全相关的网站和论坛,如 FreeBuf、看雪论坛、安全客等,获取最新的资讯和学习资源。

5.制定学习计划

  • 明确自己的学习目标,是侧重于 Web 安全、系统安全还是其他领域。
  • 根据目标制定一个合理的学习计划,包括每天或每周的学习时间和内容安排。

7.法律和道德意识

  • 明确网络安全相关的法律法规,了解在学习和实践过程中的法律边界,确保自己的行为合法合规。
  • 培养良好的道德意识,不将所学技术用于非法和不道德的目的。

8.保持学习热情和耐心

  • 网络安全知识体系庞大且不断更新,学习过程中可能会遇到困难和挫折,要保持积极的学习态度和足够的耐心。

三、网络安全学习路线

如果你真的想通过自学的方式入门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】英语写作手册:风格的要素

特别声明:

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

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值