首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Flutter框架开发的安卓app抓包记录

Flutter框架开发的安卓app抓包记录

作者头像
OneTS安全团队
发布2025-05-01 21:47:09
发布2025-05-01 21:47:09
8240
举报
文章被收录于专栏:OneTS安全团队OneTS安全团队

声明

本文属于OneTS安全团队成员Gal0nYu的原创文章,转载请声明出处!本文章仅用于学习交流使用,因利用此文信息而造成的任何直接或间接的后果及损失,均由使用者本人负责,OneTS安全团队及文章作者不为此承担任何责任。

1

前言

最近想对某个app进行渗透测试,满怀期待的打开burpsuite,手机wifi挂上代理,一抓包发现怎么空空如也?!!!

啥包也抓不到,换其他的app发现是可以抓到包的,那就不是我的代理有问题,于是换vpnpostern启动继续抓包,我擦,怎么还是抓不到

后面换了brook(vpn)charlesburpsuite这套抓包方式,发现抓包还是有问题,证书有校验,用了JustTrustMe,SSLUnpinning等模块还是不行,心态炸裂!不玩了!

用jadx反编译看看,发现libflutter.so,可以得知是flutter开发的app

通过网上资料可以了解到flutter开发的app抓不到https的包的原因有:

1、不走系统代理

2、不支持设置代理

3、不信任系统证书

4、证书校验写死在so文件里,导致JustTrustMe,SSLUnpinning等模块无效

2

解决办法

针对证书校验问题需要用fridahook libflutter.so中的函数

首先把apk下载到电脑上,重命名apk后缀为zip然后解压,找到libflutter.so文件

然后用ida打开libflutter.so,依次点击view->Open subviews->Strings

ctrl+F搜索ssl_client

双击点击进去

然后ctrl+x追踪

直接点击第一个

F5进去查看伪代码,发现这个函数地址是sub_6DBEF4

这时候需要用到下面这个项目里的代码

https://github.com/G123N1NJ4/c2hack/blob/master/Mobile/flutter-ssl-bypass.md

把代码中的地址改成上面我们获得的函数地址sub_6DBEF4,然后把代码保存为ssl.js,然后打开app,在电脑上运行frida -UF -l ssl.js

针对不走代理我们可以使用基于VPN模式的brook+charles 转发抓包,然后用brook+charles+burpsuite即可顺利的抓到包,具体这套抓包方式可以看我之前发的文章https://mp.weixin.qq.com/s/K0fMvDrfe3wezSvx3Wn9oA

重要通知

建立了一个安全技术分享的内部圈子。

将在这分享:

  • 前沿安全攻防技术
  • SRC挖洞独家技巧
  • 钓鱼、免杀
  • 内部自研工具、魔改工具等

图片
图片
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 OneTS安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档