引子:
上周拿到一个线上复测的项目,中间有一个明文传输问题,这个问题平时基本不记,客户那测试基本都是内网环境,上线基本都是 https。这个问题之前是这样测试的:抓包,如果内容是明文就记这个问题,这里存在很多的问题。
问题 1:线上环境 https 为什么抓到的包是明文
这个问题很容易搜到答案,原因在于 https 的加密是传输的过程,burp 拦截的数据包没有走到传输那一步,它只相当于拦截的浏览器的数据,相当于就是客户端。
https 抓包原理第一步,抓包程序将服务器返回的证书拦截,第二步,给客户端返回一个自己的证书,第三步,客户端发送的数据包程序用自己的证书解密,第四步,再用拦截的证书加密发送给服务器。
这就是为什么 burp 需要抓 https 的网站时,需要给浏览器导入自己证书的原因。这样,很自然的就会想到第二个问题。
问题 2:那明文传输问题应该怎么测
内网的测试环境基本不会 https,线上环境基本都是 https,如果有复测线上环境的情况,最简单的就是直接看 url 地址了,最明显不过。如果是 APP,没有 url 地址,那就直接抓包,可以使用 wireshark 抓包查看,如果嫌麻烦,直接到 burp 的 HTTP history 中查看 url 是否有