唯一让我不爽的一点,Android 不信任用户的根证书,但是 iOS 反而大大方方的,非常奇怪,Android 就好像风韵少妇,嘴上怎么调戏都行,就是不让最后一步,iOS 仿佛高贵冷艳御姐,但是只要你有了 key ,就可以为所欲为,非常反差。
1
XiLingHost 2022-09-02 22:22:42 +08:00 1
可能是因为 Android 的根证书安装起来门槛太低了,不过用户根证书也是可以安装到系统根里的,只要你 root 了就可以
另外是否信任用户根其实是应用的选择,应用甚至可以不信任系统根而是信任内置的公钥 |
2
butanediol2d 2022-09-02 22:42:25 +08:00 via iPhone
@XiLingHost 能不能详细说明一下,root 之后如何添加根证书。Android 直接在设置中添加需要连密钥一同添加,我并不想把密钥也放进去。于是我直接把证书放到系统的证书目录里(目录应该是没错,我看设置中列出的其他预装根证书都在这个目录里)。但这样操作之后,手机安装的软件还是不信任我的 CA ,并且系统也弹出不信任的 CA 的通知。
|
3
churchmice 2022-09-02 22:47:40 +08:00 via Android 3
@butanediol2d 不是直接放就行,名字有讲究,要生成对应的名字才行,具体的生成方法我忘记了。我有自己的 CA,root 之后改对名字放进对应目录一直没问题
|
4
churchmice 2022-09-02 22:49:07 +08:00 via Android
这个里面有讲如何生成 hash
https://blog.kylemanna.com/android/android-ca-certificates/ |
5
Goooler 2022-09-02 22:52:44 +08:00
|
6
NULL2020 2022-09-02 22:53:37 +08:00
所以,安卓小白想问问,到底怎么样可以愉快地抓包?
|
7
CEBBCAT 2022-09-02 23:19:04 +08:00 via iPhone
@NULL2020 http 该怎么抓怎么抓,https 需要安装证书,Android 到一定版本后还需要使用类似 JustTrustMe 之类的插件。再多的细节就记不得了。如果遇到证书绑定的 App ,要更麻烦一些
你 Google 了吗?怎么说? |
8
butanediol2d 2022-09-02 23:20:07 +08:00 via iPhone 1
@churchmice 感谢,我尝试一下。
|
9
codehz 2022-09-02 23:48:40 +08:00
iOS 也不是没有 ssl pinning ,只是好像没安卓那么广
|
10
dingwen07 2022-09-02 23:55:05 +08:00 via iPhone
应该 Google 为了防止人们过滤广告
|
11
ByteCat 2022-09-03 01:36:24 +08:00
iOS 上遇到过 SSL Pinning 的,那种就很难搞了
|
13
SenLief 2022-09-03 07:34:11 +08:00 via iPhone
ssl pinning 咋解决的?
|
14
tbg 2022-09-03 11:27:38 +08:00
比喻很形象
|
15
wwbfred 2022-09-03 12:33:40 +08:00
Android 我记得用户导入的根证书和系统自动信任的根证书位置是不一样的,某些情况下系统不认,要想达到同等的效果需要 ROOT 。
iOS 信任的根证书也不是无条件的,苹果的一些域名只能用系统证书,无解。SSL Spinning 只能搞自签名应用,要么每年给苹果交钱,要么一周过期一次。过两年侧载法律落地了应该就没有这个问题了。 |
16
albert0yyyy 2022-09-03 13:01:55 +08:00
但是只要你有了 root ,也可以为所欲为 /doge
|
17
albert0yyyy 2022-09-03 13:04:12 +08:00 1
@NULL2020 Android-SSL-TrustKiller 或者 JustTrustMe 模块或者直接用将用户证书置为根证书,用 Fiddler ,能抓 https 明文
|
18
albert0yyyy 2022-09-03 13:08:19 +08:00
而且只是 Android 7 以上不信任用户证书,可以说是 Android 在普通消费者版本逐渐在收紧权限。
退一步说 Android 也还是开发源代码的,可以比喻为 Android 在外眼里逐渐从疯丫头变成乖巧,在家里头身体每个细胞你都能掌控 |
19
albert0yyyy 2022-09-03 13:12:58 +08:00
而且对于普通消费来说确实是安全了,确实难抓包了,全是空包。
对于开发者来说,备一台 root 开发机应该是比较好的。 |
20
albert0yyyy 2022-09-03 13:15:05 +08:00
@NULL2020 或者手机运行 root 虚拟机或者平行空间,虚拟机里安装根证书,手机抓虚拟机的包
|
21
NULL2020 2022-09-03 13:51:37 +08:00
@albert0yyyy #20 所以,按你这么说,就一点不愉快啊,一堆魔法操作,安卓小白根本不会
|
22
albert0yyyy 2022-09-03 14:12:37 +08:00
@NULL2020 啊这,你都想抓包了。。。这不就是逆向了,和人家逆着来哪里会愉快。只能多学点技术愉快起来。
|
23
huarong 2022-09-03 19:09:29 +08:00
android 信任用户证书的问题,可以用下面这个工具解决,不需要 root 。
|
24
huarong 2022-09-03 19:12:01 +08:00 2
android 信任用户证书的问题,可以用下面这个工具解决,不需要 root:
apk-mimt: https://github.com/shroudedcode/apk-mitm apk-mitm automates the entire process. All you have to do is give it an APK file and apk-mitm will: 1. decode the APK file using Apktool 2. replace the app's Network Security Configuration to allow user-added certificates 3. modify the source code to disable various certificate pinning implementations 4. encode the patched APK file using Apktool 5. sign the patched APK file using uber-apk-signer |
25
realpg 2022-09-04 00:40:25 +08:00
@albert0yyyy #19
你确定是开发者而不是破解别人开发软件的人么? |
26
lushan 2022-09-09 19:47:40 +08:00
使用 magisk 进行 root ,然后使用这个 https://github.com/Magisk-Modules-Repo/movecert 即可
|