前言
首先,你要高度热爱网络安全这个领域,你要问问自己是否是真的热爱这个行业,自己是否会因为各种了理由半途而废,放弃掉你的热爱。衡量热爱的方法特别特别地简单:看看自己主动花了多少时间在哪些事情方面,重点:『主动 + 时间』。两个条件都不能满足的,请自行将自己PASS掉,别浪费时间。其次渗透行业最注重的就是实战能力,并且知识更新较快,例如一个厂商更新了补丁就要去跟进,去掌握可能成为薄弱的渗透测试点,利用Nday作为突破。这也导致了你要有时间去搜集去跟进,各大网络软件厂商的更新内容。
渗透测试的技能点多的数不过来,比如要搞WEB渗透,你就要去了解一个东西,你要先知道他是怎样构成的。那么,WEB渗透前期的入门阶段需要涉及到那些内容那?
通信协议:TCP、HTTP、HTTPS
数据库:MySQL、SQL Server、Oracle
编程语言:前端语言(html/css/JAVAScript)、后端语言(php/Java/ASP/Python/ target=_blank class=infotextkey>Python)
上面的内容,如果全部都深入学习,估计很大一部分人都会对安全行业失去兴趣,所以才有了很多做渗透测试的都是半路出身,本身已经对Web开发技术非常的熟悉,或者本身就是做运维的,对网络的架构有熟悉的认知。
但学习其实并非完全没有捷径,这个捷径就是知识结构的整体蓝图,知识间的相互依赖关系和学习的先后次序,但是一开始就能拥有上帝视角的人那真的太幸运了。所以我整理和集合了一下自己学习渗透测试时的先后顺序和依存关系整理出了一份脑图,让同学们也可以从全景的角度去认识这门技术,让你也可以成为那个幸运的人。
当然所谓的上帝视角,也只不过时一个知识体系的框架,让你更加容易的入门和学习,更重要的依然是文章开头所说的『主动 + 时间』
入门路线
渗透测试属于信息安全行业,准确的说是网络计算机/IT行业,那么肯定少不了与程序和代码打交道。上面的脑图的内容集合了想要学习渗透测试所需要具备的代码基础,了解的程序等等。
系统核心基础:
了解虚拟机,虚拟机的作用,搭建虚拟机系统(Windows2008,Windows7,centos7,Kali Linux)
了解基本的网络知识、什么是IP地址(255.255.255.255)段划分、什么是A段、B段、C段等。windows,linux 基本语法,常用系统命令,网管协议,传输方式,网络传输协议,系统权限划分。
WEB核心基础:
了解http(超文本传输协议)协议概念、工作原理,WEB的静态页面和WEB动态页面,B/S和C/S结构。基本的网络架构、例如:Linux + Apache + MySQL + php。基本的Html语言,就是打开网页后,在查看源码里面的Html语言,了解一种基本的脚本语言PHP,或JSP,APS等。
深入学习一门数据库语言,建议同学们从MySql数据库学习,简单易上手,和编程语言一个道理一通百通。
WEB渗透:
开始学习WEB安全漏洞的知识、SQL注入、XSS跨站脚本漏洞、CSRF、解析漏洞、上传漏洞、命令执行、弱口令、万能密码、文件包含漏洞、本地溢出、远程溢出漏洞等等脑图中都有涉及和名词,使用虚拟机搭建靶机,复现漏洞的利用。
内网渗透:
利用系统漏洞进行提权,了解各种漏洞编号,和漏洞利用工具Metesploit学习
。到这里有同学可能都说kali很优秀为什么没有说学习kali,如果你经常挖洞就知道,kali常用的工具真的不多,很多工具在Windows安装也很方便,为什么要开个虚拟机配置网络,在打开kali使用那,绕WAF依旧是靠手工,工具不靠谱的。