抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

然而起因只是想知道学校哪些洗衣机空闲,但是支付宝似乎拒绝我直接抓包

TODO:这篇还是草稿

先放个坑,后面还要在这里讲 X.509 SSL CA,后面还会有一篇文章讲 OpenSSH CA。

抓包

HttpCanary

俗称「小黄鸟」,版本永久地停在了 v3.3.6,作者不堪破解版的困扰便放弃维护。

在它的文档指导下,我把自定义证书添加进系统证书里(需要 Root,Magisk Su 或者 SuperSU 均可)。

TODO:

Charles Proxy

Charles Proxy 是一个小巧的抓包软件。

在这里,我们要解密手机的流量,所以不仅要把流量通过 Proxy 传递给电脑上的 Charles Proxy,还要用中间人的方式让 apps 相信我们的自签证书:

我们可以使用 Menu -> Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Debice or Remote Browser 将 Charles Proxy 根证书安装至「信任的凭据」->「用户」块内。但是发现在 Android 11 (R) 上,许多应用程序提示没有网络。

Google 后发现 Android 7 (N) 后有了 network-security-config 这个选项,可以让 app 只信任系统证书,这样的话即使你安装了用户证书也无法进行 mitm。但是安装系统证书不仅需要 Root 权限,还要求证书为 .0 的扩展名,不同与常见的 .pem/.cer(其实是一样的)。

我们按以下步骤将其安装成系统证书:

计算证书哈希值(openssl x509 -inform PEM -subject_hash_old -in cert.pem,如果 openssl 版本在 1.0 以下,换成 openssl x509 -inform PEM -subject_hash -in cert.pem)。

假设哈希结果是 12345678,把证书重命名(mv cert.pem 12345678.0)。

之后把 /system 目录挂成可读可写(mount -o remount,rw /system),证书复制到 /system/etc/security/cacerts/,并加证书权限位为 644(chmod 644 12345678.0)。

但是发现这样一番操作之后,Chrome 反而无法打开 Https 网页了,而原本 Charles Proxy 根证书为用户证书时还是可以的。Google 后发现 Chrome 对证书有效期做出了一些限制。TODO:

Burp Suite

Burp Suite 是一个集成型的渗透测试工具,相信玩过 CTF Web 的同学一定接触过,功能比 Charles Proxy 强大,体积也是。

同 Charles Proxy 章节。

TODO:

X.509 证书和 CA