《Web安全攻防 渗透测试实战指南》学习笔记(4) - BurpSuite
如有侵权,请联系删除
Proxy
代理
就是拦截,抓包,修改,再放行
Spider
爬虫
有助于我们了解网站的目录结构,内容在Target中显示
我们爬取一下我最爱的B站
可以看到左侧有目录树,随便点开一个可以看到响应和请求,以及对应的报文
但是这个和那个history有什么区别我还真不知道
Decoder
解码
编码解码及散列的转换工具
一共有三个选项,Decoder(解码)、Encoder(编码)、Hash(散列)
并且可以进行多次的编码解码
随便选中一段,右键,Send to Decoder
或者直接整段报文发过去
Intruder
入侵
用于模糊测试
功能书上说了一大堆,但是感觉平时用到的比较多的就是**
以Sqli-labs Less-11为例,尝试**一下这个网站
1、将报文导入到Intruder模块
将抓到的包右键,send to intruder
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ln4WIL2B-1587730767689)(_v_images/20200409143954717_1283530815.png)]
这是我们可以看见,这个攻击目标burp已经帮我们配置好了
之后选择Positions
,这个时候inturder会自动添加标记
先点Clear$
将标记全部清除
再选中passwd的值(我上边是空的,我随便给了个1),再选Add$
,添加标记
这里建议进行**的时候用户名密码最起码知道一个
然后attack type
选sniper
模式
导入字典
选Payloads
,然后找到那个Payloads Options
,第二个Load items from files
,将字典导入
没字典的可以github下载一个:Web Pentesting Fuzz 字典,一个就够了。
因为是**密码,所以选了一个password的top500
导入成功了
Start Attack
点击右上角的start attack
点击length
对长度进行排序,找到和大部分不一样的,那个有可能就是正确的密码
攻击类型
官话:
Sniper模式使用单一的Payload组。它会针对每个位置设置 Payload。这种攻 击类型适用于对常见漏洞中的请求参数单独进行 Fuzzing测试的情景。攻击 中的请求总数应该是 positionPayload数量和数量的乘积。
Battering ram模式使用单一Payload组。它会重复Payload并一次性把所有 相同的Payload放入指定的位置中。这种攻击适用于需要在请求中把相同的 输入放到多个位置的情景。请求的总数是PayloadPayload组中的总数
Pitchfork模式使用多个Payload组。攻击会同步迭代所有的 Payload组,把 Payload放入每个定义的位置中。这种攻击类型非常适合在不同位置中需要 插入不同但相似输入的情况。请求的数量应该是最小的 Payload组中的 Payload数量。
Cluster bomb模式会使用多个Payload组。每个定义的位置中有不同的 Payload组。攻击会迭代每个 Payload组,每种 Payload组合都会被测试一遍 这种攻击适用于在位置中需要不同且不相关或者未知输入攻击的情景。攻 击请求的总数是各 PayloadPayload组中数量的乘积。
人话:
此处payload为一个字典,内部包含n个payload。即payload(n)
Sniper:狙击手,一个payload ~ 一个位置
。比如一个payload,一个位置A,则测试为
A |
---|
payload(1) |
payload(2) |
… |
Battering ram:攻城锤,一个payload ~ 多个位置
。比如有一个payload,两个位置A、B,则测试为
A | B |
---|---|
payload(1) | payload(1) |
payload(2) | payload(2) |
… | … |
Pitchfork:干草叉,多个payload ~ 对多个位置
。比如两个payload1、payload2,两个位置A、B,则测试为
A | B |
---|---|
payload1(1) | payload2(1) |
payload1(2) | payload2(2) |
… | … |
Cluster bomb:集束炸弹,多个payload ~ 多个位置
。比如两个payload1、payload2,两个位置A、B,则测试为
A | B |
---|---|
payload1(1) | payload2(1) |
payload1(2) | payload2(2) |
payload2(1) | payload1(1) |
payload2(2) | payload1(2) |
… | … |
翻译来源于谷歌翻译
Repeater
这个和Proxy
长得差不多的,只是这个提供了更好的阅读体验
左边是请求报文,右边是响应报文
可以很直观的分析不同的请求服务器给我们的反馈的不同
我们以Sqli-labs Less-1为例,进行分析
抓包后右键发送到Repeater
然后点击左上角Send
可以看见响应报文是这样的
然后我们将id=1
改为id=1'
返回信息改变了
id=1
id=1'