【SRC漏洞挖掘系列】第11期:移动端安全(Android/iOS)—— APP 里的“猫腻”大起底

上期回顾 :我们用 GraphQL 把 API 的底裤都扒光了。本期换个阵地------移动端

别以为 APP 比网页安全,很多 APP 的防护等级,约等于用报纸糊的防盗门。📰


一、APP 逆向:给"黑盒"开天眼

1. 脱壳:撕开 APP 的第一层皮

很多 APP 为了防止被分析,会使用加固(壳)

  • 常见壳:梆梆、360、爱加密。

  • 脱壳思路

    • 内存 dump:APP 运行起来后,在内存里把 dex 抠出来。

    • 工具 :Frida + frida-dexdump

实战场景

你拿到一个银行 APP,想看看登录逻辑。结果打开是加密的。脱壳后,你看到了明文的 Java 代码,找到了加密密钥。

2. 反编译:读懂程序员的"心里话"

  • 工具jadx-gui(神器,直接拖进去就能看源码)。

  • 找什么

    • 硬编码密钥String secretKey = "123456";(低级错误,但极常见)。

    • 测试接口https://test-api.bank.com(测试环境通常无防护)。

    • Logcat 日志 :程序员为了调试,把 tokenpassword打印在了日志里。


二、HTTPS 抓包:绕过证书锁定(SSL Pinning)

这是新手挖 APP 漏洞最大的拦路虎:"网络异常,请检查网络设置"

1. 为什么会抓不到包?

APP 内置了证书锁定(SSL Pinning)。它不相信你的电脑(Burp/Charles)颁发的假证书,只相信服务器真正的证书。

2. 绕过姿势(Android 篇)

方法 操作难度 成功率
JustTrustMe 低 (Xposed模块) 60%
Frida Hook 中 (脚本注入) **95%**​
Objection 低 (一行命令) 90%

Frida 大杀器

bash 复制代码
# 一行命令绕过大多数 SSL Pinning
objection -g com.example.app explore --startup-command "android sslpinning disable"

结果:APP 乖乖地把 HTTPS 流量送到了你的 Burp Suite 里。🎉

3. iOS 篇

  • 工具iossslkill(Frida 脚本)。

  • 操作:注入进程,干掉证书校验函数。


1. 什么是 Deep Link?

APP 注册的自定义协议。

比如:weixin://dl/moments能直接打开朋友圈。

2. 漏洞原理

如果 APP 没有校验 Deep Link 的来源,恶意网页可以偷偷调用 APP 的功能。

Payload

html 复制代码
<!-- 恶意网页 -->
<a href="bank://transfer?to=hacker&money=10000">点击领红包</a>

结果:用户点击网页链接,自动打开银行 APP 并执行转账(如果 APP 没做二次确认)。


四、WebView 远程代码执行:APP 里的"核弹"

这是 Android 历史上的经典漏洞(CVE-2012-6636)。

1. 漏洞原理

APP 使用了 WebView 加载网页,并且开启了 addJavascriptInterface

这相当于在网页和 APP 之间开了一扇门,网页里的 JS 可以直接调用 APP 的 Java 代码。

2. 实战案例

Java 代码

java 复制代码
webView.addJavascriptInterface(new Object(), "JsBridge");

JS 攻击代码

javascript 复制代码
<script>
    // 调用系统命令
    JsBridge.getClass().forName("java.lang.Runtime").getMethod("exec").invoke(null, "id");
</script>

结果:JS 代码在 APP 里执行了系统命令,直接控制手机。

3. 现在的玩法

现在直接 RCE 很难了,更多是 文件窃取

利用 file://协议读取 ../databases/user.db(数据库文件),窃取用户登录信息。


五、SRC 实战:从抓包到高危

  1. 抓包:绕过 SSL Pinning,抓取 APP 登录包。

  2. 分析 :发现请求参数里有 sign签名,但签名算法写在了 libnative.so​ (Native层)。

  3. 逆向:用 IDA Pro 打开 so 文件,找到签名算法(其实就是 MD5(password + salt))。

  4. 利用:构造请求,暴力破解 4 位验证码(因为没有次数限制)。

  5. 报告 :提交"任意账号密码暴力破解",评级 高危


六、互动与思考

💬 互动话题

各位安卓老司机,你们现在抓包都用 Frida 还是 Xposed?

有没有遇到过那种"加了壳还把密钥写在注释里"的神仙开发?😂


⚠️ 法律红线警示

  1. 严禁对他人的手机 APP 进行逆向分析(除非是官方发布的测试版或开源软件)。

  2. 严禁利用 Deep Link 或 WebView 漏洞攻击真实用户,窃取其隐私数据。

  3. 严禁分发或使用脱壳工具对商业 APP 进行破解、盗版或篡改。

  4. 测试原则

    • 仅对自己拥有的设备、自己安装的 APP 进行测试。

    • 不要尝试破解支付、登录等核心逻辑。

    • 发现漏洞后,不要下载用户数据库,证明逻辑存在即可。

      **移动端安全关乎每一个用户的隐私,请做一名守护者,而非掠夺者。**​ 🛡️

下一期,我们将进入 "OA系统与通用CMS"------ 打点拿权限的传统艺能"。想知道怎么用泛微 OA 一键 Getshell 吗?敬请期待!💥

相关推荐
Jomurphys1 小时前
Compose 调用 - 液态玻璃 Backdrop
android·compose
盟接之桥1 小时前
什么是电子数据交换(EDI)|AS2 协议详解
运维·服务器·网络·安全·低代码·汽车·制造
风别鹤2 小时前
Android Studion Gradle与AGP版本管理
android·ide·android studio
CTO Plus技术服务中2 小时前
自研-网络安全自动化应急响应工具系统(NSRT)
安全·web安全·自动化
程序员陆业聪2 小时前
WebView白屏检测与解决方案:从原因分析到工程化监控
android
学习3人组2 小时前
IOS手机使用电脑代理 IP 作为网关/代理出口实现穿越上网
tcp/ip·ios·智能手机
程序员陆业聪2 小时前
WebView内核原理:从Chromium到System WebView的架构全景
android
2501_915106322 小时前
深入解析HTTPS抓包原理、中间人攻击及反抓包技术攻防
数据库·网络协议·ios·小程序·https·uni-app·iphone
aykon2 小时前
Android app启动速度优化
android·性能优化