自学黑客(网络安全),一般人我劝你还是算了吧

文章指出了自学网络安全时常见的误区,如不应以编程为基础,不建议将深度学习作为入门第一课,以及避免收集过多过时的资料。提出了学习网络安全应注重基础,选择合适的硬件和软件,掌握一定的英文能力。推荐了学习路径,包括计算机基础、编程能力提升,以及逐步接触安全技术并确定专业方向。此外,提供了具体的分步骤学习计划,涵盖Web安全、渗透测试、脚本编程等方面。
摘要由CSDN通过智能技术生成

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

1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习

我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而且实际向安全过渡后可用到的关键知识并不多

一般人如果想要把编程学好再开始学习网络安全往往需要花费很长时间,容易半途而废。而且学习编程只是工具不是目的,我们的目标不是成为程序员。建议在学习网络安全的过程中,哪里不会补哪里,这样更有目的性且耗时更少

2.不要把深度学习作为入门第一课

很多人都是冲着要把网络安全学好学扎实来的,于是就很容易用力过猛,陷入一个误区:就是把所有的内容都要进行深度学习,但是把深度学习作为网络安全第一课不是个好主意。原因如下:

【1】深度学习的黑箱性更加明显,很容易学的囫囵吞枣

【2】深度学习对自身要求高,不适合自学,很容易走进死胡同

3.不要收集过多的资料

网上有很多关于网络安全的学习资料,动辄就有几个G的材料可以下载或者观看。而很多朋友都有“收集癖”,一下子购买十几本书,或者收藏几十个视频

网上的学习资料很多重复性都极高而且大多数的内容都还是几年前没有更新。在入门期间建议“小而精”的选择材料,下面我会推荐一些自认为对小白还不错的学习资源,耐心往下看

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

1.硬件选择

经常会问我“学习网络安全需要配置很高的电脑吗?”答案是否定的,黑客用的电脑,不需要什么高的配置,只要稳定就行.因为黑客所使用的一些程序,低端CPU也可以很好的运行,而且不占什么内存.还有一个,黑客是在DOS命令下对进行的,所以电脑能使用到最佳状态!所以,不要打着学习的名义重新购买机器...

2.软件选择

很多人会纠结学习黑客到底是用Linux还是Windows或者是Mac系统,Linux虽然看着很酷炫,但是对于新人入门并不友好。Windows系统一样可以用虚拟机装靶机来进行学习

至于编程语言,首推Python,因为其良好的拓展支持性。当然现在市面上很多网站都是PHP的开发的,所以选择PHP也是可以的。其他语言还包括C++、Java...

很多朋友会问是不是要学习所有的语言呢?答案是否定的!引用我上面的一句话:学习编程只是工具不是目的,我们的目标不是成为程序员

(这里额外提一句,学习编程虽然不能带你入门,但是却能决定你能在网络安全这条路上到底能走多远,所以推荐大家自学一些基础编程的知识)

3.语言能力

我们知道计算机最早是在西方发明出来的,很多名词或者代码都是英文的,甚至现有的一些教程最初也是英文原版翻译过来的,而且一个漏洞被发现到翻译成中文一般需要一个星期的时间,在这个时间差上漏洞可能都修补了。而且如果不理解一些专业名词,在与其他黑客交流技术或者经验时也会有障碍,所以需要一定量的英文和黑客专业名词(不需要特别精通,但是要能看懂基础的)

比如说:肉鸡、挂马、shell、WebShell等等

三、网络安全学习路线

第一步:计算机基础

这第一步,其实跟网络安全关系都不太大,而是进入 IT 领域的任何一个人都要掌握的基础能力。下面五大课程,是大学老师当年教给我们的,不管你是什么技术方向最好都好好学的技术,如今看来,仍然不过时:

  • 计算机网络
  • 计算机组成原理
  • 操作系统
  • 算法与数据结构
  • 数据

这每一门课程其实都内有乾坤,基本都不能做到一次学习就能掌握,而是伴随每个人的职业生涯,不同的技术阶段都会有不一样的认识和感受。具体学起来建议参考敏捷开发,不断迭代:有一个粗略的认识**->有了进一步的认识->彻底掌握->温故而知新。**不用纠缠于把一门课程全部学完学懂才进入下一门课程。

第二步:编程能力

有了上面的一些基本功后,这个时候就需要动手,来写点代码,锤炼一下编程的功底。下面三项,是安全行业的从业者都最好能掌握的语言:

  • Shell 脚本:掌握常用的 Linux 命令,能编写简单的 Shell 脚本,处理一些简单的事务。
  • C 语言(C++可选):C 语言没有复杂的特性,是现代编程语言的祖师爷,适合编写底层软件,还能帮助你理解内存、算法、操作系统等计算机知识,建议学一下。
  • Python:C 语言帮助你理解底层,Python 则助你编写网络、爬虫、数据处理、图像处理等功能性的软件。是程序员,尤其是黑客们非常钟爱的编程语言,不得不学。

第三步:安全初体验

有了前面两步的打底,是时候接触一些网络安全的技术了,刚刚开始这个阶段,仍然不要把自己圈起来只学某一个方向的技术。这个阶段,我的建议是:但当涉猎,见往事耳。网络协议攻击、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周)

  • 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
  • 开发一些实用的安全小工具并开源,体现个人实力;
  • 建立自己的安全体系,对公司安全有自己的一些认识和见解;
  • 提出或者加入大型安全系统的架构或者开发;

我下面也给大家整理了一些网络安全的资料,大家不想一个一个去找的话,可以参考一下这些资料哈

视频教程

HVV&黑客技术文档

黑客工具合集

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费领取

这份完整版的网安学习资料已经上传,朋友们如果需要可以微信扫描下方CSDN官方认证二维码或者点击上方链接免费领取【保证100%免费】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值