在上⼀遍⽂章《这份渗透神器Burp Suite使用指南,送给作为新手的你!》中,给⼤家介绍了Burp Suite的安装以及目标模块、代理模块、爬⾍模块。在这篇⽂章中,我们再介绍关于Burp Suite的其他模块以及使⽤⽅法。

 

1. 扫描功能

 

扫描模块⽤于⾃动检测漏洞,分为主动扫描和被动扫描。Burp Suite可以对某⼀个URL或者全站进⾏扫描。

 

如果只需要扫描某⼀个单⼀Web⻚⾯,我们可以通过Intercept将拦截到的请求执⾏"Do an active scan",具体操作如下图所示:

 

 

如果需要对全站进⾏扫描,我们可以先通过Spider爬取到站点地图,然后在Target的Site map⾥⾯选择需要扫描的⽬标,⿏标右键右击选择"Actively scan this host",具体操作如下图所示:

 

 

点击之后会弹出主动扫描向导,我们可以选择删除不需要扫描的⻚⾯,提升扫描速度。主要包括以下规则:

  • Remove duplicate items:删除重复选项

  • Remove items already scanned:删除已扫描选项

  • Remove out-of-scope items:删除不在scope的选项

  • Remove items with no parameters:删除没有参数的选项

  • Remove items with media responses:删除有media响应的选项

  • Remove items with the following extension:删除有以下扩展名的选项

 

具体如下图所示:

 

 

单击next会显示需要扫描的⻚⾯:

 

 

点击OK,则会开始主动扫描。在扫描过程中,如果扫描到登录表单,Burp Suite会提示你输⼊登录信息,可以选择登录,也可以选择放弃。

 

在Scanner模块,包括五个选项,分别是Issue activity、Scan queue、Live scanning、Issue definitions和Options。

 

Issue activity:显示扫描到的漏洞信息。

 

 

Scan queue:显示扫描任务,可以看到任务扫描状态,发现问题数⽬等信息。

 

 

Live scanning:可以看到当前扫描⽅式以及扫描范围。

 

 

Issue definitions:问题释义,⽤来对扫描到的问题或者漏洞进⾏描述。

 

 

Options:选项,⽤来对Scanner进⾏设置,主要包括五个模块:

Attack Insertion points:参数扫描选项,可以设置URL、cookie等参数。

 

 

Active Scanning Engine:主动扫描设置,可以设置主动扫描线程、超时和最⼤请求连接数。

 

 

Active Scanning Optimization:主动扫描优化,可以设置主动扫描速度和精准度。

 

 

Scan Issue:扫描问题设置,可以设置扫描类型,针对不同问题的扫描强度。

 

 

Static Code Analysis:设置可执⾏代码的静态分析的扫描类型。

 

 

2. ⼊侵功能

 

⼊侵模块根据检测到的可能存在的漏洞,调⽤攻击载荷,对⽬标进⾏攻击。⼊侵模块的原理是根据访问链接中存在的参数或者变量,调⽤本地词典、攻击载荷对⽬标进⾏攻击。

 

Intruder⼯作原理是在拦截到的请求包中,通过修改请求参数来获取不同的应答。在每⼀次请求中,Intruder通常会携带⼀个或多个有效payload,在不同位置进⾏攻击重放,通过对⽐应答来分析获得需要的信息。Intruder可以实现标识符枚举、模糊测试、SQL注⼊,⽬录遍历等。

 

接下来我们对OWASP靶机的DVWA登录界⾯通过Intruder实现爆破,字典我们使⽤Burp Suite⾃⽣成的字典。该演示只为了实验,⼤家请勿⽤于其他⾮法操作。具体实现过程如下:

 

第⼀步:将拦截到的DVWA的登录请求发送到Intruder,如下图所示:

 

 

第⼆步:配置Attack type选择攻击类型,分为四种攻击类型:

Sniper:对变量依次进⾏破解

Battering ram:对变量同时进⾏破解

Pitch fork:每个变量使⽤⼀个字典

Cluster bomb:每个变量使⽤⼀个字典,进⾏交集破解

在这⾥我们选择Cluster bomb,如下图所示:

 

 

第三步:清除已有参数,重新配置变量。我们先单击Clear按钮清除已有参数,再通过Add按钮重新设置变量,如下图所示:

 

 

第四步:设置字典。在Payloads设置⾥⾯,有四个区域:

Payload Sets:有以下两个选项。

  • Payload set:针对指定变量进⾏配置

  • Payload type:常⻅的有Simple list(简单列表)、Numbers(数字列表)、Dates(⽇期列表)、Runtime file(运⾏时读取⽂件)。

 

Payload Options:默认为Simple list,不同设置的Payload type,此字段不同。

 

Payload Processing:对字典每⾏的字符串进⾏处理,可以进⾏MD5加密,字符串截取,加⼊前缀、后缀等操作。

 

Payload Encoding:对字符进⾏URL转码。

 

在这⾥,我们Payload set选择2,Payload type选择Brute force(暴⼒破解),Payload Option设置如下图所示:

 

 

第五步:设置Option模块。在此模块中,可以配置请求线程、请求结果集格式等,在本实验中,我们Option使⽤默认配置即可,如下图所示:

 

 

第六步:配置完成之后,我们通过点击Start attack进⾏扫描,过程如下图所示:

 

 

只要⼤家花时间去等待Intruder扫描,最终是可以得到DVWA登录的⽤户名和密码的。

 

3. 重放功能

 

重放模块⽤于实现请求重放,通过修改参数进⾏⼿⼯请求回应的调试。Repeater属于HTTP请求编辑⼯具,可以随意更改HTTP请求进⾏测试。在这⾥我们仍然对登录DVWA的HTTP请求包通过Repeater进⾏修改,来查看修改后的回复内容,如下图所示:

 

我们对⽤户名和密码进⾏修改,修改完成之后通过点击go按钮,发送请求给靶机,然后查看回复内容,如下图所示:

 

 

4. 序列器功能

 

序列器模块是⼀种⽤于分析数据样本随机性质量的⼯具。可以⽤它测试应⽤程序的会话令牌,密码重置令牌是否可预测等场景,通过Sequencer的数据样本分析,能很好地降低这些关键数据被伪造的⻛险。我们仍然使⽤DVWA的登录⻚⾯进⾏测试,如下图所示:

 

 

点击Start live capture开始分析,分析过程如下图所示:

 

 

5. 拓展功能

 

拓展模块是burpsuite⾮常强悍的⼀个功能,也是它跟其他Web安全评估系统最⼤的差别。通过拓展模块,可以加载⾃⼰开发的、或者第三⽅模块,打造⾃⼰的burpsuite功能。通过burpsuite提供的API接⼝,⽬前可以⽀持Java、Python、Ruby三种语⾔的模块编写。我们在BApp Store⾥⾯找到CO2插件安装,然后就可以结合SQLmap来实现SQL注⼊了,这个案例我们后⾯在实战部分再给⼤家演示。

 

 

6. 解码功能

 

解码器模块⽤于实现对URL、HTML、Base64、ASCII、⼆/⼋/⼗六进制、哈希等编码转换,并⽀持多次编码解码操作。如下图所示:

 

 

7. 对⽐功能

 

对⽐模块⽤于对两次不同的请求和回应进⾏可视化对⽐,以此区分不同参数对结果造成的影响。我们使⽤两个相同的DVWA主⻚的请求包来做对⽐,给⼤家演示⼀下Comparer功能。先把请求包发送给Comparer模块,如下图所示:

 

然后在Comparer模块中,通过Word或者Bytes进⾏⽐较,如下图所示:

 

 

8. 选项功能

 

分为Project/User Options,主要对软件进⾏全局设置。这个可以根据需求⼤家⾃⾏设置,⼀般情况下使⽤默认设置即可。Burp Suite的所有模块我们就介绍完成了,下篇⽂章我们通过Burp Suite来进⾏SQL注⼊。

 

——END——

技术交流群1:

添加班主任微信 qiuzhiquanquanqqls000

加入微信群

 

技术交流群2:

添加班主任QQ 17246989941752856301

加入QQ群(240920680