一、某安卓APP渗透测试背景
某次接到公司活需要对一款安卓APP产品进行渗透测试,渗透测试服务是一种模拟真实攻击手法,评估目标系统和应用程序的安全性,并提供安全建议和修复方案的服务。一般情况下使用安卓模拟器 + 抓包工具或者真机(需要root权限) + 抓包工具,但是在测试过程中遇到安卓APP双向认证而导致无法抓取数据包问题,后面通过不断调试环境成功解决了该问题,并继续进行下一步渗透。
二、某安卓APP抓包遇到的问题
1、某加速平台的安卓APP产品是VPN形态,第一次遇到登录安卓APP环境是VPN产品,测试该产品还做了服务端与客户端的双向校验。正常情况下,用手机登录安卓APP情况如下图所示:
2、用Burpsuite抓包测试遇到的相关问题:
由于该产品安卓APP不信任第三方证书的问题,它只信任自己的证书,所以会弹出证书信任的报错,且用Burpsuite抓包测试没法正常登录APP。测试用夜神模拟器在不设置代理情况下,先登录APP,然后再设置代理抓包,APP也会出现报错“null cannot be cast to non-null type kotlin.collections.List”,无法获取到数据包的返回包。(如下图)
3、测试安卓模拟器版本问题是否影响APP正常登录:
在正常情况下,夜神模拟器Android12版本和MuMu模拟器12版本,在不配置代理情况下支持正常登录测试安卓APP。网络正常不设置代理,夜神模拟器Android7 64bit和Android7 32bit都不支持APP正常登录,并出现报错“Handshake failed”。(如图)
后面使用Proxifier + Burpsuite双层代理抓包测试方案,APP登录一样出现报错信息,且无法抓到正常数据包,报错信息如下:”java.security.cert.CertPathValidatorException:Trust anchor for certification…”(如下图)
三、某安卓APP抓包测试解决全过程(调试环境)
- 准备条件:
a)模拟器WiFi修改为本地电脑IP代理,端口与burpsuite对应。
b)导入系统证书(在安卓7.0以上的系统版本中,app默认不信任用户安装的证书,只默认信任系统证书,需要将burpsuite证书导入在系统证书内)。
注意:如果没有证书但设置了wifi代理能够抓取http的包,但是对于https的包无法抓取,因为流量出去但是无法代理也找不到目标服务器,所以直接在系统设置-安全-从SD卡安装证书安装的是用户证书,而不是系统证书。
- 调试环境过程:
- 准备Burpsuite证书
打开Burpsuite ,Proxy>options>import/ export CA CERTIFICATE,选择第一个一路点击下去,导出Burp证书,导出格式为burp.der。
直接用kali的工具进行转换证书格式,并重命名burp.pem文件为9a5
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容