购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5.1 BurpSuite

BurpSuite是基于Java语言开发的一款集成化渗透测试工具,使用该工具可以辅助我们高效地完成Web应用程序的渗透测试和攻击。BurpSuite工具包含非常多的功能模块:网络代理模块、入侵模块、重复请求模块、编/解码模块、漏洞扫描模块等。BurpSuite工具因其功能强大深受网络安全人员的喜爱。目前BurpSuite有专业版和社区版两个版本,专业版需要在购买官方许可证后才能正常使用。接下来介绍BurpSuite常用的几个功能模块。

(1)网络代理模块

网络代理模块(Proxy)是利用BurpSuite的核心功能,通过浏览器或其他测试工具设置网络代理。BurpSuite将HTTP/HTTPS网络流量转发到网络代理模块,对流量内容进行拦截、解析、查看、修改等一系列操作。如图2-26所示,网络代理模块主要由Intercept选项中的Forward、Drop、Intercept is on/off和Action构成。

图2-26 网络代理模块介绍

● Forward:转发数据包,表示将拦截的数据包或者修改后的数据包转发至目标服务器。

● Drop:丢弃数据包,表示丢弃当前拦截的数据包。

● Intercept is on/off:开启/关闭拦截功能,on表示开启数据包拦截功能,off表示关闭数据包的拦截功能。

● Action:其他功能组件,使用该组件可以将拦截的数据包发送到Spider、Scanner、Repeater、Intruder等功能组件做进一步测试,同时也包含改变数据包的请求方式、Body的编码方式、复制或拦截Response包等功能。

(2)入侵模块

入侵模块(Intruder)是一个高度可配置的强大功能模块,主要用于对Web应用程序进行自定义攻击,通过修改请求参数作为变量,加载设置好的攻击载荷(Payload)不断进行替换,在每一次发起请求中,该模块通常会携带一个或多个有效供给载荷,通过将应答数据包进行对比分析获得需要的特征数据内容,如We b管理平台登录口令暴力破解、登录用户名枚举攻击、SQL注入攻击、模糊测试等。图2-27是一个暴力破解Web管理平台登录口令的例子,选中password的值,单击Add按钮,就会将password值作为暴力破解的变量。进行暴力破解的攻击类型为Sniper。这里需要注意的是,如果需要同时对用户和密码进行破解,可以同时选择username和password,攻击类型选择Cluster bomb模式。BurpSuite入侵模块共包含4种攻击类型:Sniper、Battering ram、Pitchfork、Cluster bomb。

图2-27 暴力破解功能介绍

● Sniper:单组Payload请求,单组替换,对设定的每个变量位置逐一进行变量替换,未被执行变量保持原始数据不变,发起请求的总数量为Position数量与Payload数量的乘积。

● Battering ram:单组Payload请求,同步替换,对设定的每个变量位置采用相同的Payload同时进行替换,发起请求的总数量等于Payload的数量。

● Pitchfork:多组Payload请求,同步替换,对设定的每个变量位置同步使用每个变量位置对应的Payload组进行替换,发起请求的总数量为最小Payload组中的Payload数量。

● Cluster bomb:多组Payload请求,迭代替换,对设定的每个变量位置迭代每个Payload组,每个Payload组合都会被测试一遍,发起请求的总数量为各Payload组的Payload数量的乘积。

如图2-28所示,根据攻击类型设定Payload数量,单击Load item from file可以选择外部密码字典,单击Start attack按钮便可以对目标系统发起一次暴力破解攻击。

图2-28 Payload加载功能介绍

(3)重复请求模块

重复请求模块(Repeater)是一个可手动修改、能够重复单独重放当前数据包,并能够实时分析目标系统响应内容的模块。如图2-29所示,可以将Proxy、Intruder等模块的数据包发送到Repeater上,通过手动修改相关参数实现对目标系统进行安全测试。例如:修改请求参数验证是否存在SQL注入漏洞,修改请求参数验证是否存在逻辑越权漏洞,从拦截的历史记录中捕获特征的请求消息并进行请求重放攻击等。

图2-29 重复请求功能介绍

(4)编/解码模块

编/解码模块(Decoder)能够对原始数据进行各种编码格式及散列转换,目前支持URL、HTML、Base64、ASCII、十六进制、八进制、二进制和GZIP八种编码格式的转换,散列支持SHA、SHA-224、SHA-256、MD2、MD5等多种格式的转换。如图2-30所示,输入框中显示的是需要编/解码的原始数据,根据需求选择编/解码选项中的方法,将结果显示到输出框中。无论输入框还是输出框,都支持Text(文本)和Hex两种格式,编/解码选项由解码选项(Decode)、编码选项(Encode)、散列(Hash)构成。在实际使用过程中,可以根据需求进行设置。

图2-30 编/解码功能介绍 XM6F8AsqObX41iJqX7vrhAmQu9EcbO7EdlmV5csx6lmm3KMFkfSml+Paw+z802Hm

点击中间区域
呼出菜单
上一章
目录
下一章
×