在学习安卓逆向的时候,遇到一个 APP,服务端检测请求的 SSL 证书,需要提交 SSL 证书上去才能正常发送请求。而在开启抓包和协议复现的时候,请求是能正常发出去,但是服务器会返回 400 错误。于是便有了这篇文章来记录下。
说明
由于是服务端效验客户端发送的证书,所以使用代理服务器(FD,Charles 等)抓包是会替换本地证书,当服务器效验客户端发送的证书与服务器内的证书不一致,那么就直接返回 400 错误,实际上请求还是能够发送出去,只是被服务器给拒绝了。俗称双向认证
所以解决办法就是在请求的时候,将正确的证书也一同发送过去,这样服务端效验时就会将正常的响应结果返回给客户端,也就是配置自定义证书。
例子
APP 例子:隐约
具体如何拉取证书,就是安卓逆向相关的部分了,这里我也只提供证书文件,不提供 app。
贴上下载地址及密码
证书: https://img.kuizuo.cn/cert.p12
密码: xinghekeji888.x