1.目标数据是美团 APP 的超市 /便利店几个地方的店铺和店铺详情数据;
2.用 MuMu 模拟器打开 APP 设置好代理使用 Charles 抓包完全是抓不到店铺的包, 还出现请求 /unknow 的情况,搜索说是证书的原因;
3.后来改用 mitmweb 抓,MuMu 模拟器装上 mitmproxy 的 CA 证书,一开始能抓到有关店铺的 API,后来改地址重新定位就抓不到了;
4.再后来试了下 Xposed+Just True Me 在模拟器上试还是抓不到
5.美团 APP 是有自己的协议吗?这种情况下如何抓包呢
1
ai277014717 2020-02-06 10:10:04 +08:00
应该要 hook 掉证书校验的 api
|
2
yalin 2020-02-06 10:11:46 +08:00
美团有证书验证吧
|
3
odirus 2020-02-06 10:19:39 +08:00
我感觉 iOS 抓包省心很多
|
4
MrhuangSTR OP @ai277014717 这是要脱壳吗...
|
5
MrhuangSTR OP @yalin 按理说 Xposed+Just True Me 这个应该可以绕过证书验证的啊
|
7
MrhuangSTR OP @odirus 我去试试
|
8
sunzongzheng 2020-02-06 10:34:39 +08:00 via Android 1
安卓 root 以后,把证书 push 进根证书区
|
10
odirus 2020-02-06 10:48:27 +08:00
我自己试了一下,应该是有部分抓不到,对客户端知之甚少,听各位大佬分析
|
11
xi_lin 2020-02-06 11:00:03 +08:00
@dearmymy 我赞同 iOS 上黑科技能用的少一些这个说法。另外,不越狱也能用 objection 注入 hook,需要重签名。
但是一般的话 Android 上 Xposed 方案我觉得可能更方便一些。 |
12
CY4suncheng 2020-02-06 11:04:14 +08:00
Android 6 以上,https 抓包需要在 App 端内置证书,找个 5 系统的手机试试
|
13
kerro1990 2020-02-06 11:06:14 +08:00
app 内置证书抓不到
|
14
lengjingxu 2020-02-06 11:15:52 +08:00
换美团的 h5 版本呢? http://i.meituan.com/
|
15
odirus 2020-02-06 11:53:55 +08:00
@kerro1990 @xi_lin
各位大佬,请问 “app 内置证书抓不到” 这个说法是用到了哪方面的知识点呢,想学习一下。 以前我发现有些软件不到包,是因为程序内部的 http client 可能没有实现代理功能,也就是说即使设置了代理,程序会这条规则。后面我用的是 Stream 这类软件(信任了自签发的证书),发现大部分的包都可以抓了。 如果按照我的理解,app 验证证书就无法抓包的话,一旦我使用了 stream 这类软件并使用自签名证书,stream 无法抓到包,那 APP 也应该无法继续收到请求响应了,但我今天开启了 stream 之后 APP 依然是可以显示搜索结果的,这个地方就很疑惑了... |
16
hshpy 2020-02-06 11:56:11 +08:00
iOS 可以抓,要到系统设置,通用,关于,证书信任设置再信任一次证书
|
17
n329291362 2020-02-06 12:06:02 +08:00
大众点评客户端不是 http 协议
美团可能也不是 用 wireshark 看看呗 |
18
odirus 2020-02-06 12:07:56 +08:00
|
19
odirus 2020-02-06 12:10:16 +08:00
我再咨询一个问题
如果我用了 stream 这类软件,并且在系统里面信任了证书( iOS,Android 我知道有个版本问题),代码里面是否可以看出我用的自签发证书而拒绝响应呢? 我们再测试过程中用抓包软件比较多,所以想了解得多一些,感谢各位了。 |
20
n329291362 2020-02-06 12:14:59 +08:00
|
21
explorerEX 2020-02-06 12:18:09 +08:00
我也遇到过,甚至检测到后台抓包代理服务器直接拒绝响应了,app 直接断网,有大佬点拨下这是什么情况吗?
|
22
sobigfish 2020-02-06 12:51:53 +08:00
SSL Pinning / HTTP Public Key Pinning (HPKP)
|
23
bazingaterry 2020-02-06 12:55:15 +08:00
美团点评移动端都套了一层私有协议的
|
24
gunavy 2020-02-06 13:32:21 +08:00
美团 iOS 两年前抓过,现在不知道有没有加 Pin
|
25
HFcbyqP0iVO5KM05 2020-02-06 13:34:23 +08:00 via Android
试试关键词 SSL PINNING
|
26
HFX3389 2020-02-06 13:42:48 +08:00
如果有结果了烦请大佬艾特回我一下,我想学习学习
|
27
Artail 2020-02-06 14:09:55 +08:00
美团 App 里面有一部分的 API 走的不是传统的 HTTP,是特定的一种二进制协议。如果你抓的恰好是这个,那还真的抓不到。
|
28
odirus 2020-02-06 14:19:41 +08:00
|
30
muzuiget 2020-02-06 14:28:11 +08:00
对方写死 IP 地址,HTTP/HTTPS 客户端直连你怎么配代理也没有,这种情况就应该先用 wireshark 抓包观察下都和哪些 IP 通信,都用了什么协议,然后再定点爆破。比如对方做了能无视系统代理的手段,那就想把法把 HTTPS 客户端的交换密钥导出来,在 wireshark 里解密查看。
|
31
ChangQin 2020-02-06 15:22:52 +08:00
有可能是别的协议
|
32
tolbkni 2020-02-06 15:26:52 +08:00
通过 VPN 模式来抓包,这样应该无法被客户端忽略,跟普通的 HTTP 代理不同。
|
33
heart4lor 2020-02-06 15:49:28 +08:00
做了 SSL Pinning,可以参考我这篇博客 https://www.sunyongfei.cn/archives/213/
|
34
lizhuoli 2020-02-06 19:48:53 +08:00 via iPhone
现在很多大厂都是走了 Protobuf 接口了吧,虽然是 HTTPS 能拿到明文,但是 Protobuf 本身是二进制数据,没有 meta 你也猜不到是什么数据结构
|
35
bobuick 2020-02-06 20:45:32 +08:00
美团好像有些 app 是用的长连自己的协议,不是 http 也不是 https。以前有同事在那边做过类似架构
|
36
lushan 2020-02-07 12:15:42 +08:00
尝试一下 wireshark 和 科莱网络分析工具
|
37
MrhuangSTR OP |
38
MrhuangSTR OP |
39
Artail 2020-02-16 15:03:59 +08:00
@herozzm 我个人的理解是目的有两个:1、framework 级别对数据类型做保护,就是如果这里表明类型是 int,却给个 string,framework 会直接把保护做掉,业务侧就不必在做更多级别的判断。2、这个不是基于 HTTP 做的,直接在 TCP 层往上做掉的,这样做可能性能会更优。数据交互都是二进制,一方面数据会更安全,另一方面,速度会更快,之前我试过一个 90 KB 大小的网络请求,进行反序列化的时候,JSON 差不多接近 3s 的耗时,美团这套二进制差不多 0.8 左右。这个数据可能有所波动。我用 15mid 15inch 的 MBP 的 iOS Simulator 跑的。
|
40
doggielovelilyc 239 天前
美团,大众点评是自由协议,逆向 apk 后就知道了,可以通过 hook 方法实现抓取
|