一、Wireshark抓取HTTPS报文

1. 系统变量配置

通过设置系统变量SSLKEYLOGFILE来达到解密HTTPS的效果。TLS握手结束后,会将session key存放到SSLKEYLOGFILE定义的keylog中。Wireshark通过加载keylog文件,将HTTPS解密成明文。

打开电脑属性 --> 高级系统设置 --> 环境变量,设置文件路径。

2. Pre-Master-Secret配置

在Wireshark首选项中,选择TLS协议,编辑Pre-Master-Secret文件路径。

3. 抓包实战

如下我们抓取到一条腾讯云官网的HTTPS报文,解密后如下,HTTP头部、请求方法(GET)都可以直观看到。

二、Burpsuite抓取HTTPS报文

Burpsuite在渗透领域占有一席之地,有拦截阻断、改包、爆破等各种强大功能,当然也包括作为中间人给client转发并解密的能力。

1. 配置代理监听器

Proxy --> Options --> Proxy Listeners,设置本地回环地址即可。

浏览器设置代理为本地8080端口。

那么所有通过浏览器访问的请求,都会先经过Burpsuite。

2. 配置Intercept

Intercept顾名思义,用于拦截改包。如果只是为了解密HTTPS,不进行改包操作,将此选项置为off即可。

3. 安装Burpsuite签发的CA证书

设置代理后,访问http://burp即可,Burpsuite会将http://burp劫持,提供证书下载的web页面,下载内置证书到本地。

导入到受信任证书的列表即可。

4. 开始抓包

一切都准备就绪后,浏览器开始访问,还是以腾讯云官网为例。

进入到HTTP History页面,这里会实时显示刚刚抓到的包,可以清晰看出,HTTPS解密后报文里面的内容为client向腾讯云服务器发送了一条HTTP GET请求,并得到了响应。

同时可以精细化过滤我们想要的请求,支持正则表达式。

Target模块中Site map是整理好的站点地图。

5. 手机终端通过Burpsuite代理抓取明文

代理模块设置监听地址为本地内网IP。

手机通过同一局域网络,设置WIFI代理到本机IP:PORT即可。

同理,手机端也需要安装Burp CA证书,Burp下载的证书为.der后缀格式,有些手机无法识别此格式文件,为此我转成了.cer格式。

此时手机访问外网,会经过本地电脑的Burpsuite再到路由器出去,所有流量都会被Burpsuite截取并转发出去,包括手机APP。

我们抓取京东APP的数据为例,HTTPS被成功解密成了明文。

三、Charles抓取HTTPS报文

Charles是一款小巧的代理抓包工具,同样具备颁发CA证书,解密HTTPS的功能。

1. 代理配置

Proxy --> SSL Proxying Settings,打开SSL代理,并配置代理内容,所有主机端口。

Proxy --> Proxy Settings设置代理端口,默认为8888,并且默认会代理本机。

2. 安装CA证书

浏览器设置代理到本机8888端口后,访问http://chls.pro/ssl自动下载证书文件,pem格式,电脑可能无法识别,同理我转换了一份.crt格式的。

3. 抓包实战

接下来尝试抓取HTTPS请求,同样以腾讯云官网为例。

浏览器打开官网后,可以看到CA根证书就是我们导入的证书,并抓取到HTTPS明文。

Structure整理好了每个站点的访问结构,类似于sitemap的功能。

4. 手机终端通过Charles代理抓取明文

和Burpsuite的配置逻辑一致,手机WIFI设置代理到本地电脑的Charles监听端口(默认8888),证书安装亦是如此,不再赘述。

同理我们抓取下京东APP的HTTPS请求,成功抓取到HTTP明文请求及响应头。

四、SniffMaster抓取HTTPS报文

SniffMaster是一款功能强大的抓包工具,特别适合用于网络流量分析和HTTPS解密。它提供了直观的界面和强大的过滤功能,能够帮助用户快速定位和分析网络问题。

1. 配置代理监听器

在SniffMaster中,配置代理监听器非常简单。只需在设置中选择代理监听器,并设置本地回环地址即可。

2. 安装SniffMaster签发的CA证书

设置代理后,访问http://sniffmaster即可下载CA证书。将证书导入到受信任的证书列表中,即可开始抓取HTTPS流量。

3. 抓包实战

使用SniffMaster抓取HTTPS报文非常直观。只需启动抓包功能,访问目标网站,SniffMaster会自动解密HTTPS流量,并显示明文内容。

五、总结

四款软件都有抓取HTTPS明文的能力,但适用场景有所不同:

  • Wireshark更适用于协议层面的分析定位,没有拦截、改包功能;
    • Burpsuite功能强大,功能基本覆盖了Charles,两者都具备中间人转发能力,但仅仅停留在HTTP协议层面;
    • Charles小巧精简,不具备拦截改包能力,适用于分析终端设备网络场景;
    • SniffMaster则是一款功能全面且易于使用的抓包工具,特别适合需要快速分析和解密HTTPS流量的用户。
      每款工具都有其独特的优势,选择适合的工具可以大大提高工作效率。
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐