采用https的服务器必须从CA (Certificate Authority)申请一个用于证明服务器用途类型的证书。该证书只有用于对应的服务器的时候,客户端才信任此主机。
burpsuite抓取https原理:
第一步, burp向服务器发送请求进行握手, 获取到服务器的CA证书, 用根证书公钥进行解密, 验证服务器数据签名,获取到服务器CA证书公钥。
第二步, burp伪造自己的CA证书, 冒充服务器证书传递给客户端浏览器,客户端浏览器做跟burp一样的事。
第三步, 客户端浏览器生成https通信用的对称密钥,用burp伪造的证书公钥加密后传递给服务器, 被burp截获。
burpsuite是先伪装服务器向客户端发送伪造的公钥,从而取得客户端的对话密钥。得到了对话密钥,再伪装成客户端与服务器通信,所以抓app包需要在手机端安装burp的证书。
1.
设置burp代理,端口为8888,并且bind all interface,一定要设置为all interface
2.
访问burp代理的地址,127.0.0.1:8888或者http://burp,点击CA Certificate,下载CA证书
3.
因为手机不支持der,要通过浏览器将证书转成cer,或crt给手机使用,给浏览器添加证书后,浏览器也能抓取https包。以chrome为例,在设置里找到HTTPS/SSL ,点击管理证书
]
4.
然后选择收信人的根证书颁发机构,选择导入刚才下载的证书
5.
导入成功后可以看到颁发机构里看到PortSwigger CA证书,选择并导出
6.
然后将证书发送到手机上,移动证书到存储空间的目录,并安装证书,以三星手机为例
去设置/锁屏屏幕与安全
其他安全设置
从设备存储空间导入安装证书,选择portSwigger.cer安装
7.
成功后,设置手机无线网络代理为burp的代理,手机和电脑要在局域网同一网段内
最后手机登录任意https网站,在burp内发现成功被拦截
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。