
PC 端 QQ 监听本地 4301 端口提供快捷登录接口,为 SSLv1.2
尝试了一下后发现除了浏览器,其他的 HTTP Client 均无法与该端口正常通信,如 curl, Python, bp
Python 报错bad handshake: SysCallError(-1, 'Unexpected EOF')
curl -v
* Connected to localhost.ptlogin2.qq.com (127.0.0.1) port 4301 (#0) * ALPN, offering http/1.1 * TLSv1.3 (OUT), TLS handshake, Client hello (1): * OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost.ptlogin2.qq.com:4301 * Closing connection 0 curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost.ptlogin2.qq.com:4301 google 上大多解释是 HTTPS Server 所用加密协议已弃用,不过我测试不是这个原因( curl 的 log 里的情况,服务端接收到 client hello 就立刻断开)。浏览器正常请求后可以看到是 x25519 key exchange + AES-128-GCM。用 nc 测试发现连上 4301 端口对端就立即断开连接
1 lcdtyph 2020-03-09 18:54:21 +08:00 如果执行 curl -v --tlsv1.2 https://localhost.ptlogin2.qq.com:4310 呢 |
2 whoami9894 OP @lcdtyph 还是相同的 SSL_ERROR_SYSCALL |
3 1115746521 2021-03-29 17:12:50 +08:00 qq 应该监听了本地进程的请求,判断请求是否是从白名单请求中,如果不在,就强制关闭连接, 白名单的浏览器都可以重复请求这个域名没有问题 |