Burp Suite 初级用法

Burp Suite 是 Web 应用安全测试工具的集成平台,它包含许多工具,所有的工具都共享一个能处理并显示 HTTP 消息、持久性、认证、代理、日志、警报的一个强大的可扩展的框架。

Burp Suite 工具箱以及说明:

工具 说明
Proxy 一个拦截 HTTP / S 的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截、查看、修改再两个方向上的原始数据包
Spider 一个应用智能感应的网络爬虫,能完整地枚举应用程序的内容和功能
Scanner 是一个高级工具,执行后,能自动发现 Web 应用程序的安全漏洞
Intruder 对 Web 应用程序进行自动化工具,如:枚举标识符、表单破解和信息收集
Repeater 是一个靠手动操作来补发单独的 HTTP 请求,并分析应用程序响应的工具
Sequencer 分析哪些不可预知的应用程序会话令牌和重要数据项的随机性工具
Decoder 解码 / 编码工具
Comparer 通过一些相关的请求和响应得到两项数据的一个可视化的 “差异”

Proxy

① 应用 Burp Suite 首先要配置网络代理。

1. 在 Chrome 浏览器上,推荐使用 SwitchOmega 代理工具。
下载 SwitchOmega 代理插件安装在 Chrome 浏览器上,相关配置如下图所示:
在这里插入图片描述
可以新建一个情景模式,然后设置代理服务器为:127.0.0.1,代理端口为:8080 (这个可以更改)。然后点击应用选项即可。

2. 配置 Burp Suite 的 Proxy 选项卡 Options 参数,如下图所示:

点击 “Add” 添加一个代理,然后将端口设为:8080,选择 “Loopback only” (即 127.0.0.1)。然后点击“OK”即可。
注:此处的端口和地址应该与浏览器中的设置保持一致。
在这里插入图片描述
在这里插入图片描述
此处只配置简单的代理,在 Options 中还可以设置一些拦截规则。

② 接下来启动代理即可拦截 HTTP / S 请求和响应

注意:默认情况下 HTTP 响应拦截是不开启的。

1. 把 Proxy 选项卡得 Intercept 选项中的 “Intercept is on” 打开表示开始代理

在 Raw 信息矿中,可以清楚地看到拦截后的 HTTP 请求,Headers 、Params 和 Hex 是以不同的方式来显示 HTTP 请求的
在这里插入图片描述
开启后,会发现服务器久久不能回应信息,原因是 Burp 已经把 HTTP 请求拦截了,此时的浏览器会抑制处于阻塞状态。

在 Intercept 模块中有 4 个按钮:

  • Forward (跳转到下一步):单击 Forward 进行跳转,服务器才能接收到浏览器发送的请求
  • Drop (放弃本次请求):单击 Drop ,Burp 会把本次的请求包丢弃。
  • Intercept is on:拦截开关,若关闭则会变为 “Intercept is off”
  • Action :动作选项,可以把拦截下的 数据包发送给其他模块进行处理。

2. 在 History 模块中,可以显示拦截的历史记录,包括 Request 和 Response 信息
在这里插入图片描述
3. 可以修改 HTTP 请求包后再发送
在这里插入图片描述
在这里插入图片描述
将 Host 头的内容从 www.baidu.com 修改为 www.51cto.com

Target

Target 模块是站点地图,该模块最主要的功能就是显示信息。如:它会默认记录浏览器访问的所有页面,并且使用 Spider 模块扫描后,可以在此模块清晰地看到爬虫所爬行的页面及每个页面的请求头以及响应信息。

Target 模块默认记录浏览器访问的所有页面,不过 Burp Suite 可以通过添加过滤器 (Filter) 来过滤非目标站点。

① 将目标站点添加到 Scope
在 “Target” 的 “Site map” 区域中,用鼠标右键单击目标站点,然后选择 “add to scope”,这时 Burp 会生成一个正则表达式,并自动添加到 Scope 中。
在这里插入图片描述
② 使用过滤器 Filter
单击 “Filter”,选择 “Show only in-scope items”,只显示范围内的列表,即可进行过滤。
在这里插入图片描述

Spider

Burp Suite 自带了一个网络爬虫 Spider。下面以 www.baidu.com 为例,介绍爬行操作。

① 配置好 Proxy 后,连接到请求。在 Raw 显示卡诶右键鼠标,选择 “Send to Spider”
在这里插入图片描述

然后 Burp Suite 就会开始工作,这时不会切换到新界面,需要手工进行查看。

② 选择 Target 的 Site map 选项
在这里插入图片描述
③ 在爬行的同时,Burp Suite 会默认进行被动地漏洞扫描,也就是检测每个访问过的 URL。在 issue 框中可以看到。
在这里插入图片描述

④ 在 Spider 的 Options 选项卡中设置爬行规则,包括设置爬行线程、爬行深度、请求头、表单登录等配置。
在这里插入图片描述

Scanner

Scanner 模块可以有效的帮助渗透测试人员发现 Web 应用程序的安全漏洞,下面以 www.kankanwu.com 为例介绍扫描过程。

① Burp Suite 可以针对单一的 URL 进行测试,也可以对整个 Web 的 URL 进行测试。如果只针对单一的 URL 进行测试,只需拦截到请求后,右键选择“Do an active scan” 进行主动扫描即可

在 Scanner 中可以查看扫描结果:
在这里插入图片描述

② 若想进行全站扫描,则需要先爬行网站的所有链接,爬行完毕后,在 Target 模块选择需要进行扫描的网站,并单机鼠标右键,在弹出的快捷菜单中选择 “Actively Scan this Host” 主动扫描主机。
这时会看到主动扫描向导,可以选择删除不需要扫描的页面:

  • Remove duplicate items:删除重复的选项
  • Remove items with no parameters:删除没有任何参数的页面
  • Remove items with following extensions:删除具有以下扩展名的页面,以逗号隔开。

在这里插入图片描述

单击 Next 阿娜妞,Burp Suite 会给出要扫描的列表,若有不想扫描的页面 (如需要登录的页面),可以选择删除。

③ 在 Scanner 的 Options 配置信息主要包括四个模块:

  • Attack Insertion Points:参数扫描选项,在此模块中,可以选择 URL、Cookies 等参数
  • Active Scaning Areas:主动扫描漏洞,此模块中可以配置扫描信息,例如 SQL 注入、XSS等
  • Active Scaning Engine:扫描配置,此模块可以设置扫描线程、超时和最大请求连接
  • Passive Scaning Areas:被动扫描选项,此模块可以设置 Header、Cookies

④在 Scan queue 模块中可以看到扫描的进度以及扫描结果
在这里插入图片描述

Intruder

Intruder 模块可以对 Web 程序进行自动化攻击。在 Intruder 模块中,最重要的是配置 Attack Type、程序变量以及字典设置。

在拦截到请求后,选择 “Send to Intruder”,然后在 Intruder 的 Target 选项中就能看到目标网址和访问端口。在使用 Intruder 时,Target 模块一般无需配置。

继续选择 Inturder 下的 Positions,在这个模块里可以看到拦截后的 HTTP Request 请求,具体配置如下:

① 配置 Attack Type
它属于攻击类型配置:

  • Sniper:对变量一次进行破解
  • Battering ram:对变量同时进行破解
  • Pitch fork:每个变量将会对应一个字典
  • Cluster bomb:每个变量将会对应一个字典,并且交集破解,尝试每一个组合

② 配置变量
在 Position 模块中,可以在任意的请求头区域设置变量,Burp Suite 会自动在请求头中加入许多变量。

③ 配置字典
在 Payloads 模块下有以下四个区域:

1. Payload Sets
Payload Sets下有两个选项:
* payload Set:针对指定变量进行配置
* payload type:Payload 类型,常见的类型有:Simple list (简单列表),Runtime file (运行时读取列表),Numbers (数字列表),Dates (日期列表)

2. Payload Options
默认为 Simple list,如果设置为 Payload type,此区域将会随之变化

3. Payload Processing
可以有效的对字符串进行处理 (字典的每一行),可以进行 MD5 加密、字符串截取、加入前缀、后缀等操作。

4. Payload Encoding
在进行请求时,可以针对某些字符进行 URL 转码。

④ 配置选项:Options 模块
在此模块中,可以配置请求线程、请求结果集格式等。常用的配置信息表如下:

参数 说明
Request Engine 请求引擎设置,可以设置线程、超时等信息
Attack Results 攻击结果显示,可设置为 request、response 等
Grep-Match 识别 response 中是否存在此表达式或简单字符串
Grep-Extract 通过正则截取 response 中的信息

其他的辅助模块

1. Decoder 解码器

Decoder 模块是一个编码工具箱,支持对 URL、HEX、HTML 等格式字符串进行编码或者解码操作。

如:在文本框中输入 “>”,然后在后侧选择 “Encode as HTML”,则可以对 “>” 进行 HTML 编码。
在这里插入图片描述

2. Comparer 比较器

Comparer 是一个字符串比较器,可以快速的发现两端字符串中的差异。

3. Repeater

Repeater 属于 HTTP 请求编辑工具,在进行 HTTP 请求测试时,可以借助此工具,在拦截到请求后,选择 “Send to Repeater”,Repeater 将会受到 HTTP 请求,可以随意更改 HTTP 请求进行测试,单击 GO 按钮,发送请求,请求后的响应会出现在 Response 区域。

猜你喜欢

转载自blog.csdn.net/weixin_43915762/article/details/87903997