-
iOS HTTPS 抓包工具
介绍一些用过的好用的 iOS 下 HTTPS 的抓包工具。 这些工具的实现原理都是使用 Network Extension 实现VPN,设置路由规则到 VPN 的设备里,再进行流量筛选,例如筛 TCP Port 443 的,转发到内部实现的一个代理服务上,通过中间人攻击的方式,实现 HTTPS 的协议解密甚至劫持。 这些工具的操作步骤大都如下: 安装 App。 安装并信任证书。最近的 iOS 安装自定义 CA 证书,会需要用户自己到设置里安装描述文件,再去关于本机的证书信任设置里手动启用 CA 证书。 创建 VPN。App 里有明确的引导,将用户跳转到 VPN 添加页面。但是这里的VPN 在 App 卸载的时候不会自动删除。 配置规则或者默认全部TCP 443 启用并解析 这里有个风险,如果使用者不能确认 App 安装的证书完全是本机现生成的私钥及证书且都没有上传到服务器上,那请在使用完相关App 后,至少是取消掉对该 CA 的信任。 以下对比仅限于被对比的对象,优点和缺点不是绝对的。 1. Stream,一款免费的 iOS 程序,看简介应该是中国开发者开发的,可以在 IAP 里赞助开发者。 优点:免费,功能直观,而且还算比较完整,可以构造请求。 缺点:用户引导做得不够好,如果不懂原理,可能配置不成功。 2. Charles…
-
MITM 与 HTTPS 流量劫持
VPS 硬盘挂之前,blog 里留了一篇文章,如何使用 redsocks + linux policy based routing 实现对手机 HTTPS 流量的劫持。具体方案懒得再写了。简单描述一下原理,后边的文章会需要引用。 上图是引用自 Wikipedia 的中间人攻击的页面。 最古老的年代,通信缺少加密,所以中间传信的人可能能看到并篡改内容。后来,从算法保密,到算法公开密钥保密,再到后来 PKI 的出现,逐渐实现了相对安全的加密通信。 但是,从开发、调试和安全研究的角度看,在拿不到 SSL/TLS 通信密钥的情况下,中间人攻击是协议调试的一个重要手段。(当然,如果能拿到 SSL/TLS 通信密钥,例如可以修改 SSL/TLS 握手的库,记录下来,就可以直接 tcpdump/wireshark 抓包,再用 wireshark 填入密钥就可以解密了。) 加密通讯的中间人攻击,第一个典型场景的必要手段是让客户端信任中间人的证书,常见的手段: 例如客户端不校验证书(签发者,时间,Common Name等), 或者当客户端使用系统的方法和系统的 CA 库去校验的时候,安装自签的 CA 证书再用这个 CA 去签发被劫持的证书, 甚至 Patch 的方式替换原有程序里写死的证书或证书策略(例如 Android)。 第二个典型的必要手段是劫持流量,或者信道。常见的做法: 如果被劫持的目标对象使用系统的代理,或者有代理设置的选项,修改这个选项。 如果该目标不使用代理,但是系统平台有方法劫持,例如 proxifier(一个值得买的 win/mac 代理工具),使用 proxifier 可以按通讯地址端口或者进程名称将应用的流量。 如果是不认代理设置的运行在封闭系统(iOS / Android)下的程序,就可以考虑网络设备上 NAT…
-
mailway webhook 的邮件数据处理
之前 提到了用 mailway 实现域名邮箱服务,用它 webhook 实现匿名邮箱服务,补充一点数据的细节。 1 webhook 给的邮件正文只是一个链接,链接是 hardcoded 了服务器地址,所以实际使用的时候如果不匹配,需要自己修正。
-
iodine on Ubuntu/macOS
iodine 是一个比较著名(但是好久没更新版本)的DNS Tunnel,所谓 IP over DNS,用 DNS 的协议来承载 IP 包,所以特点是慢,但是针对某些 DNS 可用的场景,可以凑合解决上网的问题。
-
域名邮件转发
最早 QQ 邮箱有域名邮箱的功能,2020年下架了,新域名无法添加,只能使用QQ企业邮箱。但是QQ企业邮箱免费版不支持多域名,而且用起来并不方便。
-
macOS ntp not working
我的老macbook pro总是时不时跟ntp服务器对不上时间,少的时候差几秒,多的时候几分钟。之前root下 crontab 每小时跟aliyun ntp对时,结果这次怎么执行都会偏差两秒,连续sntp也还是两秒。
-
Protected: WireGuard 海外多主机方案
There is no excerpt because this is a protected post.
-
Site is back
Sadly without any backup.
-
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!