摘自:渗透测试学习
零基础新手的第一步应该是:
Web前后端基础与服务器通信原理 的了解。(所指前后端:H5、JS、PHP、SQL,服务器指:WinServer、Nginx、Apache等)
第二步:当下主流漏洞的原理与利用
此时才应该是SQL、XSS、CSRF等主流漏洞的原理与利用学习。
第三步:当下主流漏洞的挖掘与审计复现
学习前人所挖0day的思路,并且复现,尝试相同审计
这三步学习法,足够新手入门到小成了。
渗透测试学习笨方法
积累思路,并记录笔记,形成自己的思路和字典
例如,1000个Sqli注入漏洞,1000个XSS漏洞,1000个命令执行漏洞,1000个越权漏洞,1000个未授权漏洞,1000个等等漏洞
我是没有给自己限制,可能一周看4天,每天看50个洞,这个都是根据你的节奏来的
看多少个先根据自己的极限来看,重要的是养成这个看的习惯,老是看其实也没什么用,关键是要通过观察这些事实去产生新的观念
通俗的说法,看到案例里扫了目标什么路径,加到字典里
看到案例里扫描了什么端口,加到端口字典里(别跟我杠全端口扫描)
看到案例里使用了什么弱口令,加到爆破字典里
看到案例里使用了什么tools,git clone一下瞧一瞧
看到案例里使用了为什么猥琐思路,记录到攻击路径小本本里
实践
看了很多案例,提取出来这么多观念了(TTPs),我们就要去实践了
怎么实践我这里就不讲了,但是案例看多了你会发现,有些东西我根本就实践不了
通过案例分析,我们会知道案例里什么是我们已知的(已知也分为已知实践和已知未实践),什么是未知的
对于未知的,实践不了的,我们就要做差距分析
实践差距分析
一般都是要分析一下为什么实践不了
比如,拿这几天我在分析的一个案例来举例子(分析过程过几天放出来),在分析这个案例中作者编写的工具时发现,工具中使用的go相关的第三方库里并没有实现TCP协议相关的方法,而是作者看着rfc文档自己徒手实现了一个
在这个分析中,差距显而易见
1.我没有阅读rfc文档的习惯
2.第三方库没实现的内容,我可能不会自己去实现
要弥补这个差距我要给自己制定相应的学习、动手计划
可能再过一阵,我就会去看一个陌生的rfc文档,尝试去实现某种协议,并且会更加关注原版rfc的阅读,而不是查看国内蹩脚翻译的文档
|