安卓渗透指南(五)- 巧用Fiddler与Burp Suite构建移动端流量分析矩阵

张开发
2026/4/7 12:06:27 15 分钟阅读

分享文章

安卓渗透指南(五)- 巧用Fiddler与Burp Suite构建移动端流量分析矩阵
1. 为什么需要Fiddler与Burp Suite组合拳很多刚入门的移动安全测试人员会遇到这样的困境单独用Fiddler抓包时发现某些HTTPS请求解密失败单独用Burp Suite又难以处理WebSocket等非HTTP流量。去年我在分析某金融类APP时就遇到过这种尴尬——APP同时使用了HTTPS加密、WebSocket实时通信和自定义二进制协议单一工具根本无法完整捕获所有流量。这时候就需要构建流量分析矩阵让Fiddler负责移动端全流量捕获包括WebSocket/TCP等Burp Suite专注HTTP/HTTPS深度分析。两者通过代理链Proxy Chain串联形成112的效果。实测在复杂场景下这种组合策略的流量捕获成功率能提升60%以上。2. 环境配置的黄金法则2.1 代理拓扑设计推荐采用双层代理架构手机 → Fiddler第一层 → Burp Suite第二层 → 目标服务器。这种设计有三大优势Fiddler默认监听8888端口Burp Suite使用8080端口避免端口冲突Fiddler的Streaming Mode可以保持WebSocket长连接Burp Suite的Repeater模块更适合HTTP请求重放测试配置时要注意# Fiddler Rules脚本示例确保流量转发到Burp if (oSession.host.ToLower() target.com) { oSession[x-overrideGateway] 127.0.0.1:8080; }2.2 证书部署的坑点排查安卓7的系统证书问题老生常谈但有几个细节常被忽略证书哈希值必须匹配使用openssl x509 -inform DER -in cacert.cer -noout -subject_hash命令验证系统证书目录权限应为755chmod 755 /etc/security/cacerts证书文件名必须包含哈希值c8750f0d.0哈希值.0后缀遇到抓包失败时建议按这个顺序检查用户证书是否安装成功设置→安全→加密与凭据系统证书目录是否包含目标证书证书有效期是否过期我遇到过测试环境用自签名证书过期导致的问题3. 高阶流量分析技巧3.1 动态规则配置Fiddler的CustomRules.js才是真正的大杀器。比如这段代码可以自动标记敏感流量// 标记包含身份证号的请求 if (oSession.oResponse.headers.Exists(Content-Type) oSession.oResponse[Content-Type].Contains(application/json)) { var body oSession.GetResponseBodyAsString(); if (body.match(/(\d{6})\d{8}(\d{4})/)) { oSession[ui-color] red; oSession[ui-bold] true; } }3.2 Burp Suite的魔法插件配合以下Burp插件效果更佳Logger记录所有历史请求支持条件过滤AuthMatrix自动化越权测试Turbo Intruder处理高频请求重点说下流量镜像技巧在Burp的Project options→Connections里开启Redirect to host配合Fiddler的AutoResponder功能可以实现生产环境流量镜像到测试环境自动替换请求参数如将userId123改为userId456压测场景下的流量回放4. 实战中的疑难杂症4.1 SSL Pinning破解方案遇到证书锁定SSL Pinning时常规方案是XposedJustTrustMe但Android 10的设备可能会遇到兼容性问题。推荐备选方案Frida脚本注入Interceptor.attach(SSLContextImpl.$init.handle, { onLeave: function(retval) { retval.replace(0x0); } });内核模块修改通过ko文件hook内核级验证函数需要root4.2 非标准协议处理某IoT设备使用自定义二进制协议我是这样处理的用Fiddler捕获原始TCP流在HexView里分析报文结构编写Python解析脚本import struct def parse_packet(data): header data[:4] body_len struct.unpack(I, data[4:8])[0] payload data[8:8body_len] return {header: header, payload: payload}5. 效率提升的骚操作5.1 自动化工作流搭建将常用操作封装成批处理脚本echo off start C:\Program Files\Fiddler\Fiddler.exe /autoload timeout /t 5 start C:\burpsuite\burpsuite.exe --project-filetest_config.json adb shell settings put global http_proxy 192.168.1.100:88885.2 智能过滤策略分享我的过滤规则组合Fiddler过滤器(!(ui-comments contains static) !(uri contains .jpg)) (responsecode 200)Burp过滤器^((?!.(css|js|png|gif)).)*$最后说个真实案例某次渗透测试中目标APP在登录时先请求了/config接口获取加密参数常规抓包只能看到乱码。通过Fiddler-Burp组合我先用Fiddler捕获原始流量再用Burp的Intruder模块暴力破解加密算法最终发现是简单的XOR运算。这种案例充分证明了矩阵分析的价值——不是简单工具叠加而是形成完整的分析闭环。

更多文章