网络安全学习路线

黑客或网络安全学科,起源计算机科学,但又不止于计算机,还涉及社会工程学、心理学、信息战等多个领域,学习曲线属于典型的「入门易 精深难」。

进入这个圈子之前,相信聪明的你已经积累了很多关于「如何学习」「如何坚持」等各种方法,但当面对的是海量涌来的知识、敲不完的代码、无法穷尽的漏洞时,试问自己真的能坚持下来吗?大部分人走着走着就迷路了,本质是缺少方法论的支撑,各行各业的方法论很多,这里仅分享对我个人影响最为深刻的 1个:

终身成长,即采用持续成长的心态,将学习与成长周期无限拉长到一生。 很多人喜欢将 “过了 xx 岁就学不动了” 之类的挂在嘴别,在我看来要么是误区要么是借口,这样观念无非是用来掩饰自己懒惰不愿成长不想改变的心态。如果你接受这些传统观念,那只能说明你不适合做一名黑客。相反地,采用终身成长这套方法论,将「做一名黑客」的时间跨度无限拉长到一生,把它当成一生的事业而不是一个短暂的职位,那么,我们的学习耐心、学习深度、学习广度也将会无限放大。不要跟任何人比较,给自己多点时间和耐心,3 个月不行就 6 个月, 6 个月不行就 1 年,1 年不行就 2 年…… 这个方法论的实践,可以让我们在成长路上戒骄戒躁并持续精进,不妄求短时间内“大跃进”,也抛弃了“一口吃撑”的激进做法。

一、职业技能

根据不同的安全规范、应用场景、技术实现等,安全可以有很多分类方法,在这里我们简单分为网络安全、Web安全、云安全、移动安全(手机)、桌面安全(电脑)、主机安全(服务器)、工控安全、无线安全、数据安全 等不同领域。下面以个人所在行业和关注点,重点探讨 网络 / Web / 云这几个安全方向。

① 网络安全

[网络安全] 是安全行业最经典最基本的领域,也是目前国内安全公司发家致富的领域,例如启明星辰、绿盟

[技能需求]

网络协议:TCP/IP、VLAN/Trunk/MSTP/VRRP/QoS/802.1x、OSPF/BGP/MPLS/IPv6、SDN/Vxlan/Openflow…

主流网络与安全设备部署:思科/华为/华三/锐捷/Juniper/飞塔、路由器/交换机、防火墙、IDS/IPS、VPN、AC/AD…

网络安全架构与设计:企业网/电信网/政务网/教育网/数据中心网设计与部署…

信息安全等保标准、金土/金税工程… ……

② Web安全

Web安全领域从狭义的角度来看,就是一门研究[网站安全]的技术,相比[网络安全]领域,普通用户能够更加直观感知。例如,网站不能访问了、网站页面被恶意篡改了、网站被黑客入侵并泄露核心数据(例如新浪微博或淘宝网用户账号泄露,这个时候就会引发恐慌且相继修改密码等)。当然,大的安全项目里面,Web安全仅仅是一个分支,是需要跟[网络安全]是相辅相成的,只不过Web安全关注上层应用和数据,网络安全关注底层网络安全。

随着Web技术的高速发展,从原来的[Web不就是几个静态网页吗?]到了现在的[Web就是互联网],越来越多的服务与应用直接基于Web应用来展开,而不再仅仅是一个企业网站或论坛。如今,社交、电商、游戏、网银、邮箱、OA…..等几乎所有能联网的应用,都可以直接基于Web技术来提供。

由于Web所承载的意义越来越大,围绕Web安全对应的攻击方法与防御技术也层出不穷,例如WAF(网页防火墙)、Web漏洞扫描、网页防篡改、网站入侵防护等更加细分垂直的Web安全产品也出现了。

[技能需求] Web安全的技能点同样多的数不过来,因为要搞Web方向的安全,意味初学者要对Web开发技术有所了解,例如能通过前后端技术做一个Web网站出来,好比要搞[网络安全],首先要懂如何搭建一个网络出来。那么,Web技术就涉及到以下内容:

通信协议:TCP、HTTP、HTTPs

操作系统:Linux、Windows

服务架设:Apache、Nginx、LAMP、LNMP、MVC架构

数据库:MySQL、SQL Server、Oracle

编程语言:前端语言(HTML/CSS/JavaScript)、后端语言(PHP/Java/ASP/Python)

【说明】

如果按照上面的技能全部学完,不仅时间周期非常长,估计大部分人连学后面安全的兴趣都没有了。所以,这就说到Web安全这个行业另外一个常态了:大部分做Web安全的,并不是刚开始就对Web开发技术非常熟悉的,很多都是半路杀出来了,甚至连Web网站都没有架设过的,这种大有人在。因此有更加狭义的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漏洞利用等等);
    自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
    思考渗透主要分为几个阶段,每个阶段需要做那些工作;
    研究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周)

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

看到这里,你应该知道该怎么学了吧,既然我也写到这里了,顺便再把我自己收集整理的资料也分享给你吧,里面不仅有web安全,还有渗透测试、代码审计、社工等板块,包含电子书、视频笔记、pdf文档、源码等内容,我大部分都看过,内容还算不错,留着也是占空间,需要的话可以在评论区留言~

学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

 

同时每个成长路线对应的板块都有配套的视频提供:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值