一、Burpsuite 简介
Burpsuite 是一款常用的渗透测试工具,可用于测试 Web 应用程序的漏洞。其中最重要的功能之一就是 HTTPS 的中间人攻击,这个功能的实现,就离不开 Burpsuite 对 HTTPS 协议的理解。 Burpsuite 可以分为两部分:代理和攻击。 代理:当 Burpsuite 成为客户端和服务器之间的代理时,能够有效地拦截和修改 HTTP 和 HTTPS 通信中的数据包,使得渗透测试者可以进行相关的测试工作。 攻击:除了代理之外,Burpsuite 还内置了很多漏洞扫描和攻击插件,例如扫描器、SQL 注入或者 XSS 攻击模块和其他的 payload 列表,这些操作都可以自己创建和添加。
二、HTTPS 基本原理
Burpsuite 能够进行 HTTPS 中间人攻击的原理在于 HTTPS 本身的原理,先简单介绍一下 HTTPS 的基本原理。 HTTPS 简单地说是一种 HTTP 通信协议和 SSL/TLS 安全协议的组合,采取加密通信方式来保障通信安全,可以防止信息窃听和数据篡改等恶意行为。 HTTPS 通常使用 TCP 443 端口,以 SSL/TLS 协议加密 HTTP 通信,实现加密传输和验证服务端身份。 SSL/TLS 协议采用的是非对称加密和对称加密方法: 1、非对称加密:通过公钥和私钥进行加密和解密,在 SSL 握手时,首先需证明证书的真实性;然后,客户端生成一个随机数,使用服务端的公钥,将数据加密,只有服务端的私钥才能解密。 2、对称加密:服务端和客户端都使用一个相同的密钥加密和解密,通信之前两端协商一个用于加密通信的会话密钥,确保数据在传输过程中不被篡改和攻击者窃取。 在 SSL 握手期间完成可信度的验证、握手协议的协商和加密密钥的交换,后续的数据传输都会使用 HTTPS 实现数据的加密传输。
三、使用 Burpsuite 进行 HTTPS 中间人攻击
当协议使用 HTTPS 时,通信双方都需要使用证书进行身份认证,如果不可信,就会出现类似下面的提示,可以忽略此类提示,点击“Advanced”继续。 ![alt text](https://github.com/china-testing/python-api-tesing/raw/master/img/1.png "提示")
1、代理设置
首先,需要设置 Burpsuite 代理,以便抓取 HTTPS 数据包。 在 Burpsuite 界面中选择“Proxy”标签页,在“Intercept”子标签中打开代理服务器功能,并在浏览器或移动 APP 中设置 HTTP(S) 代理,Burpsuite 界面中出现如下情况,表示 Burpsuite 已成功拦截代理并捕获 HTTP/HTTPS 数据包。 ![alt text](https://github.com/china-testing/python-api-tesing/raw/master/img/2.png "代理设置")
2、证书安装
接下来,您需要安装 Burpsuite CA 证书,该证书将允许 Burpsuite 在 HTTPS 通信时起到中间人的作用。 在 Burpsuite 界面中选择“Proxy”标签页,切换到“Options”子标签并点击“Import /export CA certificate…”,您可以使用从 Burpsuite 官网下载的证书,并将其安装到您的设备。当您安装证书时,操作系统会向您询问是否托管此证书,此时请选择“信任此证书意味着完全信任证书发布者”。 ![alt text](https://github.com/china-testing/python-api-tesing/raw/master/img/3.png "证书安装")
3、设置 HTTPS 配置
在 Burpsuite 中选择“Proxy”标签页,并在“Options” tab 中选择“HTTPS” 子选项。勾选“Capture HTTPS Connects” 和“Use invisible proxy settings”,然后在下面的页面中选择“Install Burpsuite CA certificate in browser” 然后点击“OK” 在浏览器中输入 HTTPS 网址,您现在应该看到类似于下面的屏幕捕获图像。 ![alt text](https://github.com/china-testing/python-api-tesing/raw/master/img/4.png "HTTPS 配置")
四、Burpsuite HTTP(S) 中间人攻击应用场景
1、Web 应用程序的安全测试 通过 Burpsuite 可以深入地研究 Web 应用程序的网络通信协议和数据流,增加 Web 应用程序的测试深度和广度,发现并攻击漏洞,从而提高 Web 应用程序的安全性能。 2、拦截和修改 API 请求 如果您正在开发移动应用程序或其他类似的应用程序,那么您可能在屏幕上看不到 API 请求,而 Burpsuite 可以为您提供这些数据包,并且可以对其进行修改和测试。 3、模拟攻击 您可以使用 Burpsuite 创建和配置各种正常和恶意数据包,并捕获并分析相应的数据包,从而深入研究网络协议、增加测试深度、广度和攻击性能。
五、结语
通过本文对 Burpsuite HTTPS 的详解和应用场景的介绍,相信大家对 HTTPS 协议和 Burpsuite 工具有了更深入的了解。在实际测试过程中,需要有一个深入的理解和经验,才能发挥此工具的最大效用。