使用BurpSuite抓取HTTPS网站的数据包

昨天面试,技术官问到了我如何使用BurpSuite抓取https网站的数据包,一时间没能回答上来(尴尬!)。因为以前https网站的数据包我都是用Fiddler抓取的,Fiddlert自动帮我们配置好了证书,所以就没用BurpSuite抓取过,今天特意去学习了下如何使用BurpSuite抓取https网站的数据包。

关于HTTPS协议中证书的认证过程,传送门——>HTTPS协议工作原理(SSL数字证书)

BurpSuite之所以不能抓取https数据包,是因为BurpSuite作为中间人代理,我们和https网站之间的数据通信都是由BurpSuite来代理的,而https通信是需要SSL证书的,BurpSuite的证书我们浏览器默认是不信任的。所以要想实现BurpSuite抓取https的数据包,最关键的是让浏览器信任BurpSuite的证书。

下面我以Firefox浏览器为例,演示如何让Firefox信任BurpSuite的证书。

首先,打开BurpSuite,配置好代理。如果不知道怎么用BrupSuite的,移步——> Burpsuite工具的使用

然后访问  http://burp/   ,下载BurpSuite的证书

使用BurpSuite抓取HTTPS网站的数据包

下载到桌面后,得到的是一个 cacert.der 的文件,而并不是我们常见的 .cer 格式的证书,这是因为证书的编码方式不一样导致的,但是这并不影响我们后续的导入证书

使用BurpSuite抓取HTTPS网站的数据包

然后我们在Firefox中打开设置——>选项——>高级——>证书——>查看证书——>证书机构——>导入,选择我们刚刚下载到桌面的证书,点击打开

使用BurpSuite抓取HTTPS网站的数据包

然后勾选信任由此证书颁发机构标识的网站,点击确定。

使用BurpSuite抓取HTTPS网站的数据包

我们的BurpSuite的证书就导入进Firefox的可信任证书里面了。

当我们访问https的网站,比如百度的时候,可以发现,BurpSuite已经能抓取数据包了。

使用BurpSuite抓取HTTPS网站的数据包

对于其他的浏览器,比如chrome,QQ浏览器等,步骤都一样,只是最后导入证书是导入进受信任的根证书颁发机构。

使用BurpSuite抓取HTTPS网站的数据包

上一篇:流媒体基础实践之——RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)


下一篇:仿QQ的底部选项