1. 问题说明

验证移动客户端和服务器之间是否存在双向验证的机制,同时确认此机制是否完善,服务器是否以白名单的方式对发包者的身份进行验证,如果不存在证书的双向验证机制则存在中间人攻击的风险。

2. 测试步骤

使用抓包软件进行抓包,检测能否正常解密 HTTPS 通信数据,若能则 APP 未验证证书有效性。下图中使用 BurpSuite 对其抓包,可以发现当 BurpSuite 开启了代理后对 APP 进行相关操作,APP 拒绝了我们的请求,而拒绝的原因就是证书无效,说明该 APP 进行了证书的双向强校验。
证书有效性验证 - 图1

如果我们在开启了抓包工具的代理进行抓包能正常发送相关请求,这就说明 APP 并没有做证书的有效性校验。

3. 修复建议

建议移动客户端对 SSL 证书进行校验。