计算机0基础怎么学渗透测试?
计算机0基础怎么学渗透测试?想必也是大都市小白想了解的话题,下面就给大家详细讲解一下:
第一阶段:网络基础
1.了解基本的网络知识、什么是IP地址、IP地址的基本概念、IP段划分、什么是A段、B段、C段等广域网、局域网、相关概念和IP地址划分范围。
2.端口的基本概念?端口的分类?
3.域名的基本概念、什么是URL、了解TCP/IP协议、
4.了解开放式通信系统互联参考模型(OSI)
5.了解http(超文本传输协议)协议概念、工作原理
6.了解WEB的静态页面和WEB动态页面,B/S和C/S结构
7.了解常见的服务器、例如、Windows server2003、Linux、UNIX等
第二阶段:Web基础
Web基础是渗透测试最最重要的部分。正所谓Web安全渗透,首先就是建立在Web技术之上的。
那么Web基础要学到什么程度呢?
是否能够从零开始搭建起一个网站?(网站架构)
是否了解 HTTP 协议原理?例如用抓包软件分析过 HTTP请求和响应包有什么内容?(Web通信协议)
是否能看懂网页源码,或者用 HTML / CSS / JavaScript 做过前端页面?(Web前端)
是否清楚什么是 MVC/MTV 架构,或者用 Python / PHP / Java 做过后端架构?(Web后端 )
是否了解过常见的 Web容器/中间件,或者用过 Apache / Nginx / Tomcat?(Web容器)
是否掌握任一常见的数据库技术,包括但不限于 MySQL / SQLsever / Oracle?(数据库)
推荐书籍:
· 《PHP从入门到精通》
· 《MySQL数据库入门》(传播智客)
· 《Python零基础入门学习》(小甲鱼)
· 《图解 HTTP 》
第三阶段:学习漏洞原理以及安全工具的使用
Web基础学完了过后,应该学习漏洞的原理和安全工具的使用了。
其实这部分的学习真的没有那么难,最主要的就是实践。
无实战,不安全。这个阶段需要去做大量的靶场、CTF、也可以尝试去挖挖SRC。在实践中理解原理,拓展学习。
下面我会列出需要学习的工具和知识点,按顺序学习就好
常见漏洞:
· SQL
· XSS
· 文件上传
· 逻辑漏洞(支付漏洞、密码找回、验证码绕过、越权漏洞)
· CSRF
· XXE
· 代码执行
· 命令执行
· 变量覆盖
· 文件包含
· SSRF
· ...
常用安全工具:
信息收集:
· 搜索引擎Google Hacking
· 搜索引擎 Shodan Hacking
· 搜索引擎Zoomeye Hacking
· 目标扫描 Nmap
· 目标扫描 OpenVAS
· 域名遍历 Dirbuster
· 域名遍历御剑后台-Layer子域名
· 指纹识别 Whatweb
· 指纹识别 httprint
漏洞扫描:
· BurpSuite
· AWVS
· Appscan
· OWASP ZAP
注入工具:
· Sqlmap
· Havij
XSS/CSRF漏洞:
· BeEF
文件上传
· 中国菜刀
· Cknife
· edjpgcom
· 一句话图片木马
· XISE WBMS
· Weevely
第三阶段:代码审计
其实学完了以上两个部分,就已经具备了一个初级渗透测试工程师的能力了。但是如果你想要拿到20K左右的薪资的话,就应该开始学习代码了,关于语言的选择,我推荐Python,不过不用像开发那样,学得那么深入。要清楚自己的定位并不是开发,所以我们只需要看得懂就可以了,但是基础的语言要会。
推荐书籍:
《代码审计:企业级Web代码安全架构》