Burp Suite 的安装与使用

大家好,又见面了,我是你们的朋友全栈君。

Burp Suite 的安装

  • Burp Suite是一款集成化的渗透测试工具,包含了很多功能,可以帮助我们高效地完成对Web应用程序的渗透测试和攻击。
    • Burp Suite由Java语言编写,基于Java自身的跨平台性,使这款软件学习和使用起来更方便。Burp Suite不像其他自动化测试工具,它需要手工配置一些参数,触发一些自动化流程,然后才会开始工作。
    • Burp Suite可执行程序是Java文件类型的jar文件,免费版可以从官网下载。免费版的Burp Suite会有许多限制,无法使用很多高级工具,如果想使用更多的高级功能,需要付费购买专业版。专业版与免费版的主要区别有以下三点。
    • Burp Scanner
    • 工作空间的保存和恢复
    • 拓展工具,如Target Analyzer、Content Discovery和Task Scheduler
      Burp Suite 是一个强大的抓包、改包工具,类似于 Sniffmaster(抓包大师),但功能更加全面。Sniffmaster 专注于网络流量的抓取和分析,而 Burp Suite 则更侧重于 Web 应用的安全测试。

Java 环境

从 Java 官网进行下载:搜索 Java JDK 安装完成之后,配置环境变量:将 C:\Program Files\Java\jdk1.8.0_201 复制到系统环境变量中。

然后打开 bin 目录,再将目录 C:\Program Files\Java\jdk1.8.0_201\bin 复制到系统环境变量中。

现在可以用 cmd 指令输入 javac,输入 java 也可以。如果出现版本信息,说明环境变量配置成功。

下载 Burp Suite

下载地址:https://portswigger.net/burp

双击安装,一直 next——》finish

打开——》I accept——》弹框选 delete——》next——》start burp

免费版本没有 Scanner

Burp Suite 入门

设置代理

Burp Suite 代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务端的返回信息等。Burp Suite 主要拦截 HTTP 和 HTTPS 协议的流量,通过拦截,Burp 以中间人的方式对客户端的请求数据、服务端的返回信息做各种处理,以达到安全测试的目的。

在日常工作中,最常用的 Web 客户端就是 Web 浏览器,我们可以通过设置代理信息,拦截 Web 浏览器的流量,并对经过 Burp 代理的流量数据进行处理。Burp 运行之后,Burp Proxy 默认本地代理端口为 8080。

HTTP 的代理

以 Firefox 浏览器为例:打开菜单——》选项——》网络代理——》设置——》手动配置代理 127.0.0.1 端口是 8080

设置 HTTP 代理为 127.0.0.1,端口为 8080,与 Burp Proxy 中的代理一致。端口在 0~65535 之间设置。手动代理:代理到本机,因为想让浏览器通过本机把流量发送到这个端口,再由 Burp 监听到,把包拦下来(端口的选择要和 Burp 一样)。HTTP 代理(因为抓的是 HTTP 的包)。

设置完后,Burp 就可以抓包了。

HTTPS 的代理

如果要抓 HTTPS 的包,要用 HTTPS 代理(SSL proxy)。HTTP 默认走的是 80 端口,HTTPS 走的是 443 端口。两者端口不一样,要代理 HTTPS 就一定要用 SSL 去代理。

设置完代理就可以了吗?不行。HTTPS(S 表示 security),多添加了一套 SSL 层(在 TCP 和 HTTP 中间),作加密的。Burp Suite 有一个证书:http://burp/(输入的是 http,所以一定要代理 http 才可以访问 http 的网站,代理的是 https 就可以访问 https 的网站)。

安装证书后就可以解密百度传回的数据。

导入刚刚下载的证书。这个证书的名字叫 PortSwigger CA。导入后弹出的弹框(选第一个也行,都选中也行)。导入这个证书就可以解密 HTTPS 协议里面的乱码数据了。

现在抓一个百度的包吧!

若只设置了 SSL proxy,能不能抓 HTTP 的包?不能。因为没有代理 HTTP 的,只代理了 HTTPS 的,SSL 就理解为 HTTPS,所有要抓 HTTP,要设置 HTTPS 代理。

总结:抓 HTTPS 的包
抓 HTTPS 就代理 SSL,抓 HTTP 就代理 HTTP
抓 HTTPS 还需要导入证书
代理是代理,导入证书是导入证书,代理一定要代理 SSL,导入证书是为了通过 HTTPS 返回来的数据可以解密(证书是解密的,SSL 是代理的)

Proxy(代理)

Burp Proxy 的拦截功能主要由 intercept(intercept 拦截/截夺)选项卡中的 Forward、Drop、Interception is on/off 和 Action 构成,他们的功能如下所示。

  • Forward(放包)表示将拦截的数据表或修改后的数据包发送至服务器端。
    • Drop(废包)表示丢弃当前拦截的数据包。
    • Interception is on(拦截请求)表示开启拦截功能,单击后变为 interception is off(拦截禁用),表示关闭拦截功能。
    • 单击 Action(行动)按钮,可以将数据包进一步发送到 Spider、scanner、Repeater、Intruder 等功能组件做进一步测试,同时也包含改变数据包请求方式及其 body 的编码功能。(发送到其他功能组件)
      打开浏览器,输入需要访问的 URL 并按回车键,这时将看到数据流量经过 Burp Proxy 并暂停,直到单击 Forward 按钮,才会继续传输下去。如果单击了 Drop 按钮,这次通过的数据将丢失,不再继续处理。

当 Burp Suite 拦截的客户端和服务器交互之后,我们可以在 Burp Suite 的消息分析选项中查看这次请求的实体内容、消息头、请求参数等信息。Burp 有四种消息类型显示数据包:Raw、Params、Headers 和 Hex。

  • Raw 主要显示 Web 请求的 raw 格式,以纯文本的形式显示数据包,包含请求地址、Http 协议版本、主机头、浏览器信息、Accept 可接受的内容类型、字符集、编码方式、cookie 等,可以通过手动修改这些信息,对服务器端进行渗透测试。(Raw 就是以文本的形式显示数据包
    • Params 主要显示客户端请求的参数信息,包括 GET 或者 POST 请求的参数、cookie 参数。可以通过修改这些请求参数完成对服务器端的渗透测试。
    • Headers 中显示的是数据包中的头信息,以名称、值的形式显示数据包。
    • Hex 对应的是 Raw 中信息的二进制内容,可以通过 Hex 编辑器对请求的内容进行修改,在进行 00 截断时非常好用。

Target

Filter 过滤

Spider

Spider 的蜘蛛爬行功能可以帮助我们了解系统的机构,其中 Spider 爬取到的内容将在 Target 中展示。

Decoder

Decoder 的功能比较简单,它是 Burp 中自带的编码解码及散列转换的工具,能对原始数据进行各种编码格式和散列的转换。

Repeater

可以重复的发一个包。

API 就是写插件用的东西。

在 Repeater 里面的数据都可以相互转发的。

Extender(插件扩展/扩展程序)

BApp Store 是官方插件,需要专业版才可以 install。

Intruder(暴力激活成功教程)

将刚刚 Repeater 的内容发送到 Intruder。

攻击方式
Sniper

Payload 里面有三个重要的模块。

Battering ram
Pitchfork

选择 pitch 攻击方式,payloads 里面就有两个 payload(因为选择了两个地方要变化,如下图)(多个标记需要用不同的字典去替换)。

Cluster bomb

相当于所有的排列组合。

Intruder 主要就是做暴力激活成功教程的,还有一个点比较重要,就是 payload processing:
比如 GET 的值是一个 MD5,提交上去必须用明文的 MD5。这里要显示 11 和 22 的 MD5 怎么做呢?把 payload 处理成 MD5(Payload Processing——》Hash——》MD5)。

Intruder–Options 中的 Grep-Match★

Grep-Match:当我们用所有字典中的内容去对数据包中的动态变量去进行替换的时候,如何判断哪个请求是撞成功了?这时候就要用到 grep-match 这个功能了。比如:当我们登录失败的时候会提示我们 username or password is not exists~

反过来说,当我们输入一个正确是用户名密码肯定不会提示 username or password is not exists~那我们就可以把这个提示的内容作为一个区分,来让 Burp Suite 去查找,哪些请求的响应里面没有提示——》就意味着那个请求是正确的请求。

也就是我们可以把所有响应的数据表里面包含的字符串的内容 flag 出来,那反过来说,没有被 flag 的数据包就是撞成功的数据包。

介绍一个代理插件 Switchy Omega

Switchy Omega 是一个强大的代理管理工具,类似于 Sniffmaster 的代理功能,但更加灵活和易用。它可以帮助你快速切换不同的代理设置,适用于各种网络环境。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐