当前位置: 首页 > news >正文

移动安全与API安全

5.1 Android逆向工程

APK反编译与脱壳
  • 工具链实战

  • Jadx:反编译APK获取Java/Smali代码


jadx-gui app.apk # 图形化界面分析 jadx --deobf app.apk -d output # 反混淆输出 
  • Frida:动态Hook关键函数

// Hook AES解密函数 Java.perform(() => { let CryptoClass = Java.use("com.example.CryptoUtils"); CryptoClass.decrypt.implementation = function (data) { console.log("Decrypting: " + data); return this.decrypt(data); }; }); 
  • Xposed:修改系统级行为

// 绕过SSL Pinning public class BypassSSL implements IXposedHookLoadPackage { public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) { XposedHelpers.findAndHookMethod("android.app.ApplicationPackageManager", lpparam.classLoader, "checkSignatures", String.class, String.class, new XC_MethodHook() { protected void beforeHookedMethod(MethodHookParam param) { param.setResult(0); // 强制返回签名一致 } }); } } 
漏洞类型与利用
  • 组件暴露

  • AndroidManifest.xmlexported="true的Activity/Service被恶意调用

  • 数据存储风险

  • SharedPreferences明文存储密钥

  • SQLite数据库未加密(/data/data/pkg/databases

  • 动态加载代码

  • 从服务器下载DEX文件执行(可植入恶意模块)

防御方案
  • 代码混淆:ProGuard + DexGuard

  • 运行时保护:检测Root/Xposed环境(Build.TAGS.contains("test-keys")

  • 加密存储:使用Android Keystore管理密钥

实践任务
  • 使用Jadx反编译APK,定位硬编码的API密钥

  • 通过Frida Hook SSL证书校验函数,捕获加密流量


5.2 iOS越狱与动态调试

越狱环境搭建
  • Checkra1n越狱

  • 支持iPhone 5s至iPhone X(基于BootROM漏洞)

  • 安装Cydia包管理器获取root权限

  • 动态调试工具

  • LLDB:附加进程调试


lldb -n "TargetApp" (lldb) image list -o -f # 获取ASLR偏移 (lldb) b NSLog # 断点系统日志函数 
  • Cycript:运行时修改Objective-C对象

cy# var rootVC = UIApp.keyWindow.rootViewController cy# rootVC.title = "Hacked" # 实时修改界面标题 
Swift逆向与防护
  • Hopper分析

  • 反编译Swift二进制,识别@objc暴露的方法

  • 还原struct内存布局(IDA Pro + Hex-Rays)

  • 反调试检测


func isDebuggerAttached() -> Bool { var info = kinfo_proc() var mib: [Int32] = [CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid()] var size = MemoryLayout<kinfo_proc>.stride sysctl(&mib, 4, &info, &size, nil, 0) return (info.kp_proc.p_flag & P_TRACED) != 0 } 
实践任务
  • 使用Frida绕过iOS应用的越狱检测逻辑

  • 通过Cycript修改应用内购价格参数


5.3 API接口渗透

API漏洞挖掘模型
  • 未授权访问

  • 路径遍历:GET /api/v1/users/123 → GET /api/v1/users

  • JWT未校验签名:修改{"role":"admin"}伪造令牌

  • 参数污染

  • JSON注入:{"price": 100, "discount": {"$gt":0}}

  • 批量操作:POST /api/delete?id=* 删除所有数据

  • 速率限制绕过

  • 修改X-Forwarded-For头伪造IP轮询

自动化测试工具
  • Postman高级测试

// 预请求脚本伪造签名 const crypto = require('crypto'); const secret = 'key123'; const timestamp = Date.now(); const sign = crypto.createHmac('sha256', secret).update(timestamp.toString()).digest('hex'); pm.environment.set('signature', sign); 
  • APIFuzzer

python3 apifuzzer.py -u http://api.com/user -m POST -j '{"id":"FUZZ"}' -w fuzz.txt 
防御方案
  • 身份验证:OAuth2.0 + JWT签名验证

  • 输入校验:强类型Schema(如JSON Schema)

  • 请求签名:HMAC + 时间戳防重放

实践任务
  • 使用Burp Suite测试API接口的IDOR漏洞(越权访问他人订单)

  • 编写Python脚本爆破JWT弱密钥(secret = "changeme"


技术整合与攻防案例

移动端到API攻击链
  1. 逆向获取API端点:从APK的strings.xml提取https://api.example.com/v3

  2. 分析加密算法:Hook网络库(OkHttp/Retrofit)获取加密前的原始请求

  3. 构造恶意请求:利用未授权API批量删除用户数据

防御体系设计
  • 移动端

  • 代码混淆 + 反调试

  • 敏感逻辑移至Native层(C/C++)

  • API层

  • 启用WAF(如Cloudflare API Shield)

  • 日志审计异常访问模式(如高频批量请求)


学习建议

  1. 靶场资源
  • OWASP MSTG (Mobile Security Testing Guide) 配套实验室

  • APIsec University 漏洞环境

  1. CTF实战:参与HackTheBox中Mobile/API类靶机(如“SecretAPI”)

  2. 合规要求:遵循GDPR/PCI DSS对API数据流动的加密规范

通过本部分学习,将掌握移动应用逆向工程、API接口漏洞挖掘与防护的核心技能,覆盖从客户端到服务端的全链路攻防能力。

相关文章:

  • launch 在Kotlin 中怎么使用
  • Kotlin与Flutter:跨平台开发的互补之道与实战指南
  • 借助Azure AI Foundry 如何打造语音交互新体验
  • 一个纯粹基于jQuery和Django的SSE站内信通知的例子
  • 系统性能分析基本概念(3) : Tuning Efforts
  • element ui 表格实现单选
  • 力扣HOT100之二叉树:124. 二叉树中的最大路径和
  • 鸿蒙Flutter实战:21-混合开发详解-1-概述
  • 力扣-无重复字符的最长子串
  • 手机入网时长查询接口:精准风控与用户运营的智能利器
  • 深入理解 PlaNet(Deep Planning Network):基于python从零实现
  • ffmpeg 转换视频格式
  • 【MySQL成神之路】MySQL插入、删除、更新操作汇总
  • 掌握正则表达式:从基础语法到工程实践
  • 使用gradio创建LLM模型聊天Demo
  • 如何在 Mac M4 芯片电脑上卸载高版本的 Node.js
  • 【论文阅读】——AN EXPRESSIVE REPRESENTATION OF GENERAL 3D SHAPES
  • 网页 CSS美化(详解)
  • 机器学习圣经PRML作者Bishop20年后新作中文版出版!
  • python 绘制3D平面图
  • seo怎么给网站做外链/微信朋友圈广告如何投放
  • 黄页网站系统/企点
  • dw如何做网站界面/3天引流800个人技巧
  • 宁波方太集团网站建设/关键词的分类和优化
  • 开发网页系统一般多少钱/seo信息网
  • 深圳专业建设网站服务/seo1新地址在哪里