一、普通抓包http、https
- 将手机设置代理,指向PC机
- 在pc机上安装charles
- 手机应用发起http、https请求,可以看到http明文、https加密请求(ssl通信会加密请求和响应)
二、https中间人攻击
https与服务端或者ssl证书一起工作,证书由证书中心提供,用户会认为证书是安全的。事实证明,任何人都可以创建自己的证书,可以通过以下步骤使用charles实现自签名的证书。
- 点击proxy->proxy settings
- 点击ssl标签
- 确保勾上Enable ssl proxying
- 点击add,然后田忌主机地址xxx.xxx.xxx.xxx以及端口443.
- 单机ok,charles现在被设置成当它进行代理的时候生成自己的签名证书
现在当我们试着使用https进行连接,如果我们的代码没有正确的处理证书的相关内容,我们就会看到未加密的通信。导致这些的原因可能有:1.开发者在开发过程中没有一个合法的ssl证书,在那段时间忽略了错误的ssl代码,而继续开发应用。2.他们使用的是合法证书,但是颁发该证书的证书中心不在android识别的证书中心里边。
如果代码正常,https请求失败,会显示“请求没有成功,ssl证书失败被拒绝“的错误信息。
时间: 2024-10-12 17:06:02