【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 吗?敬请期待!💥

相关推荐
zyplayer-doc1 天前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新
天天讯通1 天前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别
志栋智能1 天前
超自动化运维如何提升安全合规水平?
运维·安全·自动化
IT新视界1 天前
星环科技ArgoDB:基于一体化架构构建数据全生命周期安全底座
数据库·科技·安全·架构
TechWayfarer1 天前
查IP归属地接入实战:保险理赔如何做动态风险监控与预警
网络·python·tcp/ip·安全·flask
ltlovezh1 天前
ROI 编码学习指南:Android 与 FFmpeg 的真实实现边界
android·ffmpeg·音视频开发
他们都不看好你,偏偏你最不争气1 天前
【iOS】Runtime - Part 2 && 消息发送:缓存、查找与转发
macos·ios·objective-c·cocoa
心前阳光1 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
utf8mb4安全女神1 天前
MySQL5.7升级到MySQL8.0并进行数据迁移
android
黄林晴1 天前
Android XR DP4 重磅发布:手机 App 直投眼镜,Compose 原生玩转 3D 内容
android·google io