1.Burp Suite简介
是一款集成化的测试工具
Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务端的返回信息等。
该工具主要拦截HTTP和HTTPS协议的流量,通过拦截,Burp Suite以中间人的方式对客户端的请求数据、服务端的返回信息做各种处理,以达到安全测试的目的
2.Burp Suite核心功能
2.1Proxy模块
proxy模块包括:拦截,查看,修改
拦截:
功能 | 含义 |
---|---|
Forward | 放行数据包,将拦截的数据包或修改后的数据包发送至服务器。 |
Drop | 丢弃当前拦截的数据包。 |
Interception on/off | on表示开启拦截 off表示关闭拦截 |
Action | 将数据包进一步发送到Spider、Scanner、Repeater、Intruder等功能做进一步测试,同时也包含改变数据包请求方式以及其body的编码等功能。 |
查看拦截后的数据显示
名称 | 含义 |
---|---|
raw | 主要显示web请求的raw格式,以存文本的形式显示数据包,包含请求地址、HTTP协议版本、主机头、浏览器信息、Accept可接受的内容类型、字符集、编码方式、cookie等。可以通过手动修改这些信息,对服务端进行渗透测试。 |
hex | 对应的是raw信息的二进制内容,可以通过Hex编辑器对请求的内容进行修改,在进行00截断的时候非常好用。 |
headers | 显示数据包中的头信息、以名称、值的形式显示数据包 |
2.2intruder模块
intruder是一个高度可配置的工具,其工作原理是Intruder在原始请求数据的基础上,通过修改各种请求参数获取不同的请求应答。
在每一次的请求中,intruder通常会携带一个或多个有效攻击载荷,在不同的位置进行攻击重放,通过应答数据的分析对比来获取所需的特征数据
常用的模式
爆破模式 | 用途 |
---|---|
Sniper | 使用单一的payload组,适用于对常见漏洞中的请求参数单独进行测试的情景。 |
Battering ram | 使用单一的payload组,适用于需要在请求中把相同的输入放到多个位置的情景。 |
Pitchfork | 使用多个payload组,适用于在不同位置需要输入不同但相似输入的情况。 |
Cluster bomb | 使用多个payload组,适用于在位置中需要不同且不相关或者未知输入攻击的情景。 |
大佬总结的:
sniper: 适用于一个位置 单个参数
battering ram: 适用于多个位置 相同参数
pitchfork: 适用于多个位置 相似参数
cluster bomb: 适用于多个位置 不同参数
3.repeater模块
可以将目标站点地图、Burp Proxy浏览记录、Burp Intruder的攻击结果,发送到Repeater上,手动调整这个请求进行重放测试。
其后续操作包括但不限于观察页面返回信息、尝试00截断等
4.Scanner模块
用于自动检测Web系统中的各种漏洞
扫描方式可以分为两种:
主动扫描:
使用主动扫描模式时,Burp会向应用发送新的请求并通过payload验证漏洞。这种模式下的操作会产生大量请求和应答数据,直接影响服务端的性能,通常用于非生产环境。
适用于客户端漏洞 如XSS、HTTP头注入、操作重定向
服务度漏洞 SQL注入、命令行注入、文件遍历
被动扫描:
采用被动扫描时,Burp不会发送新的请求,只是对已经存在的请求和应答进行分析,对服务端的检测来说,这比较安全