文档介绍:Android安全之Https中间人攻击漏洞0X01概述HTTPS,是一种网络安全传输协议,利用SSL/TLS来对数据包进行加密,以提供对网络服务器的身份认证,保护交换数据的隐私与完整性。中间人攻击zMan-in-the-middleattack,缩写:MITM,是指攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。https在理论上是可以抵御MITM,但是由于开发过程中的编码不规范z导致https可能存在MITM攻击风险,攻击者可以解密、篡改https数据。0X02https漏洞Androidhttps的开发过程中常见的安全缺陷:1) 在自定义实现X509TrustManager时zcheckServerTrusted中没有检查证书是否可信,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。2) 在重写WebViewClient的onReceivedSslError方法时,调用proceed忽略证书验证错误信息继续加载页面,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。3) 在自定义实现HostnameVerifier时z没有在verify中进行严格证书校验,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。4)在setHostnameVerifier方法中使用ALLOW_ALL_HOSTNAME_VERIFIER,信任所有Hostname,导致通信过程中可能存在中间人攻击,造成敏感数据劫持危害。0X03漏洞案例案例一:,导致https中间人攻击,攻击者直接可以获勒到会话中敏感数据的加密秘钥,另外由于APP没有做加固或混淆,因此可以轻松分析岀解密算法,利用获取到的key解密敏感数据。御安全扫描结果:•1HPShttpshb乡at证书不可信MiTMira(7处)用中可18存在申同人沁•谕述村5亡"盘富HTTPS超躍曲创•HPPSms・牙也可曉衽牛农人攻去■lEfSV.^SrS幼冷•HTTPSHTTPS信任所UHsmanwMTTM««(7处)左stHortwneW胡;cr方”^":POST jr・jd・uosi/jrsxserver/b•丫HTTP/1.】.•Content-Length:347・•Coftten^-Typ•:appllcation/json;chazir・・ul^DataReadonlyHTTP/1・i200OK.-Server:openr&aty/・3・.Date:Frit25Apr201609:46:28GMT.•Content-Type:appliCBCion/json;ch*riec=UTF-3.•Transfer-Encoding:chunked..Connection:clove..Expire■:Fcxt29Apr201€09:4G:Z8GMT・・Cache-Control:eax*ag«s0・・•・204…广空巴土、■*N■严• ,■:・".eTTkey-pbl屜次气BllSVCalRn□30