关于接口抓包

190 天前
 fenglirookie

我现在有一个第三方的 APP ,我现在使用 Charles 抓包工具,手机已经安装 Charles 的证书,此时我配置好之后,app 上的每一个请求 Charles 上都会有记录 但是 contents 里面全是乱码。这种情况 我查了一下资料说的是因为 APP 做了双向验证 所以 抓不聊 https 的包,想咨询一个广大 V 友,对于这个有什么解决方案吗?

2245 次点击
所在节点    程序员
33 条回复
Tamamopoi
190 天前
小黄鸟安装系统级证书可解。
但是需要 root/虚拟机,系统证书放在/system/etc/security/cacerts ,重启后小黄鸟就能抓 https 的包了。
zh826256645
190 天前
cian
190 天前
这个需要逆向或者 decode 证书
libook
190 天前
也可能做了二次加密,先对数据加密,然后再扔给 HTTPS 二次加密传输,这种你用 HTTPS 证书抓出来的就是第一次加密的数据,要想解密得逆向 app 程序,找到密钥和加密算法,如果此时 app 还做了安全加固,就更难了。
CEBBCAT
190 天前
一楼说的不一定对,你现在能抓到 path 、header 吗?可以的话那说明 body 用了应用自定义的加密方式
lxxzml
190 天前
我也有个 app 抓包都抓不到。小米平板 3 ,已 root ,安卓 7 系统,xposed ,justtrustme,justtrustme++都安装了,charles 里面连请求都看不到。但是 app 里面请求都成功了。可能是 sslping 的问题导致的。
lxxzml
190 天前
@lxxzml charles 的证书通过 adb 也安装到系统目录下了
Puteulanus
190 天前
能看到请求应该不是双向证书验证吧,更像二次加密
blunterry
190 天前
微信网页版不让登录,但是客户端可以登录,是不是因为网页版存在安全漏洞,跟客户端用的不是同一个后端 api ?
cian
190 天前
逆向过很多 app ,有这方面的需求可以找我
chairuosen
190 天前
也可能是类似 protobuf 的二进制序列化叙述
renmu
190 天前
@blunterry 不是,就是微信不想让你登
flyqie
190 天前
@blunterry #9

统信 uos 版了解一下。

不是技术原因,纯商业问题。
wangyongbo
190 天前
@lxxzml 可能是这个 APP 不使用 系统代理。
awolf
190 天前
@lxxzml 我遇到的情况是用了 flutter ,不走系统代理,所以怎么设置都不会请求代理
guanbeilang
190 天前
第一步:首先明确:是否已经可以正常抓 https 的包,如果不能,可能是根证书的安装、信任步骤没有完成
检查方法是:打开浏览器,看一下 https 的网站打开后 Charles 中能不能看到内容。 [小概率是这个情况]

第二步打开 App 看内容如果是加密的,有可能 App 本身对流量进行了加密(你可以抓一下微信的包试试看) [很大概率是这个情况]

除了主动的加密,App 为了避免被抓包,可以使用 ssl pinning 方法来保护自身,现象类似断网的状态(根据 App 自身的设计,始终加载中或提示网络错误或者假死都有可能)
BaiLinfeng
190 天前
@Tamamopoi 小程序也可以?😎
fenglirookie
189 天前
@Puteulanus 能看到请求,但是请求的 contents 里面全是乱码,这种是不是就要逆向 APP 拿到解密算法呀?
fenglirookie
189 天前
@zh826256645 看了 写的很详细,但是我主营业能力是 JavaScript 所以 其实没看懂
fenglirookie
189 天前
@Tamamopoi 小黄鸟是什么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/987580

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX