首页
社区
课程
招聘
App不直接向外网发送请求,而是向本地的一个端口发请求,抓到的包都是127.0.0.1,APP也不能正常加载
2023-3-23 13:43 9588

App不直接向外网发送请求,而是向本地的一个端口发请求,抓到的包都是127.0.0.1,APP也不能正常加载

2023-3-23 13:43
9588

安卓直播App,用的是Flutter框架,在Java层找了半天没找到有用的东西,核心通信和加密算法应该都在Native层

 

Burp
用reFlutter重新打包了App,然后用MT管理器签名,终于能用Burp抓到包了,但是url全都是127.0.0.1,App也加载不出页面

 

Burp
adb到安卓机上看了下,40119这个端口确实是在监听着的,应该是App给这个端口发数据,这个端口后面的程序再跟外网通信

 

这种应该怎么破?
想到的办法是,Burp抓到App的包后,重新发送给安卓机,让端口后面的程序能够收到App的包并继续跑下去,但是不知道Burp支不支持这样的功能,具体应该怎么设置?如果支持不了,Fiddler、Charles或者其他的工具能不能支持?

 

而且安卓上显示Local Address是 127.0.0.1:40119, 说明40119端口只监听安卓机自己的包,不会理Burp发来的包,这个又应该怎么解决?有办法强制改监听地址成0.0.0.0吗?

 

估计实际发送到外网的数据也是加密的,所以要看40119端口对应的代码,这个又应该怎么去查?可能写在Java层,也可能写在Native层,各自应该从哪里入手?


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

收藏
点赞1
打赏
分享
最新回复 (21)
雪    币: 0
活跃值: (114)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
LikangRen 2023-3-23 15:10
2
0
这个看着像接入了游戏盾之类的产品
雪    币: 4016
活跃值: (5833)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
fjqisba 2023-3-23 15:51
3
0
如果是tcp通信呢?burp能抓到吗
雪    币: 978
活跃值: (714)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wx_私人账号定制 2023-3-23 16:51
4
0
这个好像是游戏盾,所有请求先发送到手机再手机本地开启的service 向真实的地址请求
雪    币: 1244
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_yqjtfroq 2023-3-23 19:31
5
0
本地监听这个服务好像是只通过tcp连接服务器拿数据的,普通抓包没办法,并且抓到包数据也加密的,如果是想完整学flutter逆向的话,可以看看。如果只是想破解看直播的话,没必要研究native层,flutter逆向起来也麻烦,java层有个函数会处理直播链接,hook那个函数就能把直播链接拿出来,就可以直接在支持流播放的软件里面看了。在处理roomid,room信息的附近,函数名好像是setPlayURL。
雪    币: 1486
活跃值: (1990)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
huluxia 2023-3-23 20:39
6
0

我不确定是不是这个人,但是时间上很很接近。如果是,大家不要给这种人一点提示。

雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-23 22:22
7
1

不太了解游戏盾,查了下很多公司都在做这个

这个是apk的lib目录

大佬们能看出来用的是哪个公司的产品吗?


这种游戏盾有什么逆向的文章吗?

查了下没查到


最后于 2023-3-23 22:28 被pptzzz编辑 ,原因:
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-23 22:22
8
0
fjqisba 如果是tcp通信呢?burp能抓到吗
Burp不能抓tcp流量吧
原始apk用wireshark能抓到包,目前发现有http https tcp websocket
tcp和websocket里面没发现明文,看不懂
没有证书所以解密不了https
http传的都是无关紧要的数据,我想要的房间列表,直播连接什么的都没有
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-23 22:23
9
0
mb_yqjtfroq 本地监听这个服务好像是只通过tcp连接服务器拿数据的,普通抓包没办法,并且抓到包数据也加密的,如果是想完整学flutter逆向的话,可以看看。如果只是想破解看直播的话,没必要研究native层,flu ...
谢谢,我已经可以获取直播链接了的,但是要用模拟器才行
我想部署在低配的无GUI服务器上,不太可能跑得起模拟器,所以我目前能想到的办法就是完全把通信协议破了
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-23 22:24
10
0
huluxia 我不确定是不是这个人,但是时间上很很接近。如果是,大家不要给这种人一点提示。
哎呀真不是我,我说话还算客气的吧
雪    币: 160
活跃值: (129)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wx_Grep 2023-3-25 17:15
11
0
我也在分析这个直播软件,请问最后怎么解决的问题?我尝试用burp的redirect重定向到安卓机器的a端口,再在安卓机子用socat将a端口转发到目标端口,但是好像不起作用。
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-28 03:03
12
0
wx_Grep 我也在分析这个直播软件,请问最后怎么解决的问题?我尝试用burp的redirect重定向到安卓机器的a端口,再在安卓机子用socat将a端口转发到目标端口,但是好像不起作用。
不好意思,最近比较忙没在研究这个
前几天有个想法在Android跑Python代码或者Java代码发http请求跟40119端口交互,如果你配置都正确,转发过去也没反应的话,可能APP也会检测到这种情况吧
那我就无解了,我也是个菜鸟,看看大佬还有什么办法
雪    币: 1671
活跃值: (3987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小黄鸭爱学习 2023-3-30 00:16
13
0
肉丝de通杀试过没呢。按理插到网卡上用鲨鱼抓网卡的包不行吗。
雪    币: 1671
活跃值: (3987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小黄鸭爱学习 2023-3-30 00:22
14
0
pptzzz 谢谢,我已经可以获取直播链接了的,但是要用模拟器才行 我想部署在低配的无GUI服务器上,不太可能跑得起模拟器,所以我目前能想到的办法就是完全把通信协议破了
无界面协议跑起来最低时间成本就是使用类似unidbg框架去load so计算分析。
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-31 15:51
15
0
小黄鸭爱学习 肉丝de通杀试过没呢。按理插到网卡上用鲨鱼抓网卡的包不行吗。
r0capture抓不到,这个app是flutter框架的,作者说目前还不支持

wireshark是能抓包,但是明文传输的东西不重要,重要的东西要么ssl加密要么app算法加密了
frida hook了native层常见的几个加载证书的方法,没有任何调用,所以搞不出证书来破ssl加密
如果要破app算法加密,要先找到实际发出这个包的代码,然后在顺藤摸瓜找到加密代码,但是发包代码是在40119端口后面的程序里的,我甚至不知道这个程序是在哪里运行起来的,也不知道这个程序跑的是java代码还是原生代码
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
pptzzz 2023-3-31 15:51
16
0
小黄鸭爱学习 无界面协议跑起来最低时间成本就是使用类似unidbg框架去load so计算分析。
了解了一下unidbg,是用来调用so里面的某个方法吧
我只找得到APP程序朝40119端口建立websocket并且发送数据的java代码,实际跟外网传输数据的是40119端口后面的程序,完全不知道这个程序的代码在哪
我根据app的加密强度猜一下,这个程序全都跑的原生代码,跟app之间通过websocket交换数据,不需要暴露关键native方法给java层,这种情况unidbg似乎解决不了?
雪    币: 135
活跃值: (395)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
System's 2023-4-1 18:48
17
0
网易的游戏盾  我之前遇到了 直接懒得搞
雪    币: 1671
活跃值: (3987)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小黄鸭爱学习 2023-4-3 00:04
18
0
unidbg不是只能运行jni方法,他是可以把整个so跑起来模拟包括里面所谓的加密流程。即使是没有java层的方法联通也没关系。
当然我看你还没找到核心的加密方法和逻辑,这点很关键,不然你没法进行模拟。
总体来说 unidbg可以用来辅助分析算法也可以进行生产模拟使用,可以降低细节还原难度。
雪    币: 77
活跃值: (224)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
飞猫的世界 2023-4-3 17:49
19
0
比较好奇你是怎么抓到手机端127.0.0.1的包的? 手机端配置代理,127.0.0.1的流量也不应该要到pc的burp啊。
雪    币: 197
活跃值: (1346)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
woainihehe 2023-4-3 22:17
20
0
之前做过这类APP的协议。。。
雪    币: 160
活跃值: (129)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
wx_Grep 2023-4-4 20:02
21
0
飞猫的世界 比较好奇你是怎么抓到手机端127.0.0.1的包的? 手机端配置代理,127.0.0.1的流量也不应该要到pc的burp啊。
有个reflutter会修改所有的流量转移到burp里面 
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
小手冰凉Qo 2023-6-3 12:58
22
0
其实这个问题很容易解决:
adb forward tcp:40119 tcp:40119
这样你就可以从burpsuite发包啦
游客
登录 | 注册 方可回帖
返回