Category: Uncategorized

  • iOS DNS Tunnel

    一直想留个 dns tunnel 的实例给手机用,以便不时之需。最近发现有个特殊场景,需要用到 dns tunnel。 很多年前调研的时候,选定了 iodine,但是客户端是个问题,windows的程序古早,而且需要 openvpn 古早版本的 tuntap 驱动,iOS之前一直没有找到合适的客户端,拿电脑开热点有点过于傻(虽然我还是买了个 Connectify并用过几次),带个 OpenWRT 的路由(gl-inet)配充电宝好像是可以但是也挺麻烦。 其他方案也看过,dns2tcp 算是接受度很高的方案,但是没找到 iOS 的客户端。 Github 上有个 iOS 版的开源项目,不想折腾。 最近又发现一个上架了的开源项目,Purple Haze,使用的方案是基于 iodine 的,省事了。 服务器,iodined MTU是个大问题,如果不指定,客户端每次建立连接都要去试。大概观察了一下客户端的日志,选了个小的 1120,客户端也得同步设置。 NAT是需要开启的。eth0是公网的出口设备。 实测,速度大概比 56k 猫的速度快一点,图片什么的基本看不到了,而且丢包率可观。 再,如果iodined的服务器有其他网络,需要指定出口,例如: 流量按本机的路由表转给其他二层设备,直接添加路由,并根据需求在出口设备上加 NAT。 流量转给一个 point-to-point 设备,例如 wireguard、sit tunnel,OpenVPN TUN等,或者 OpenVPN TAP 类似的 二层设备 例如,全部流量转给 wireguard wg0,table 33

  • Protected: 某 License Server 的逆向思路

    There is no excerpt because this is a protected post.

  • EE_KEY_TOO_SMALL

    Windows 11 + Python 3.10, ssl 加载了 1024-bit 的 证书和私钥。然后遇到了错误 EE_KEY_TOO_SMALL 。 尝试手动修改并加载 openssl.cnf ,无效。 由于是临时服务,只对内,所以简单粗暴 Python 3.10 的 OpenSSL 版本

  • Windows 使用 mitmproxy 劫持 TLS 连接

    本来是一个直连 127.0.0.1:xxx 的连接,发现服务器可以手动指定端口,就xxx + 1 手动起服务器连接,不改端口的方案先不管,只做技术验证。 环境:Windows 11 + mitmproxy 9.0.1 原有软件的连接,使用 openssl s_client -connect 127.0.0.1:xxx 看到是 TLS 1.2,经过某些手段提取了私钥,配合证书,如果还能还原协议就可以自建server或者篡改请求了。 私钥的环节其他另文。 假设已经拿到了 PEM 格式的私钥,加上 openssl s_client 看到的证书 PEM,在验证之后,可以编辑一个满足 mitmproxy 要求的证书文件。格式说明在 https://docs.mitmproxy.org/stable/concepts-certificates/,结构如下 这个场景下只是针对明确目标的 MITM 攻击,所以选用 mitmproxy 的反向代理模式 “reverse”,文档在 https://docs.mitmproxy.org/stable/concepts-modes/。 基本结构是 假设xxx = 12300,则对应的命令是 由于上游证书是自签的,经验证服务端也没有要求客户端使用证书,所以需要使用 -k 关闭证书校验 。 然后,还需要让下游客户端继续维持上游的证书,防止内部有额外的校验,引入之前的证书文件假设为 mitm.pem 则完整命令为 脚本看文档 https://docs.mitmproxy.org/

  • Protected: NanoPi R6s Ubuntu Build Kernel Module Error

    There is no excerpt because this is a protected post.

  • Protected: 某家App签名算法还原过程

    There is no excerpt because this is a protected post.

  • apc.use_request_time

    发现 Ubuntu 下的 PHP 里的 apcu 的 cache 始终不过期,结果查了半天,cli 模式下, apc.use_request_time 是被开启的状态。

  • WordPress Extra Authentication

    Nginx snippets adding extra basic auth to wordpress. Create Password File Add User

  • 长 Cookies 导致的 cloudflare Error 520

    Cloudflare 520 是 CF 自定义的错误,根据官方文档描述,可能的原因如下: Origin web server application crashes Cloudflare IPs not allowed at your origin Headers exceeding 16 KB (typically due to too many cookies) An empty response from the origin web server that lacks an HTTP status code or response body Missing response headers or origin web server not returning proper HTTP error responses. […]

  • Protected: i百联 加密分析

    There is no excerpt because this is a protected post.