浏览器无法QQ快速登录

公司开发了自己的套壳浏览器

有用户反馈 我们的浏览器在登录QQ的情况下 访问 https://mail.qq.com 登录时没有出现已经登录的QQ 无法快速登录

分析

首先用我平时使用的浏览器Yandex访问 QQ邮箱 嗯 也没有出现 快速登陆

换Chrome 访问QQ邮箱 出现了快速登录

看了下网络请求

https://localhost.ptlogin2.qq.com:4301/pt_get_uins?callback=ptui_getuins_CB&r=0.5179631540816915&pt_local_tk=1345995641

网页访问了 localhost.ptlogin2.qq.com 对应的地址是 127.0.0.1

看来是 QQ启动了个web服务

用postman试试先 chrome和自己封装的浏览器差别应该只有ua

postman 模拟 chrome 的user-agent 也不行

百度

2023年最新版获取QQ Clientkey。

尝试了下文章提供的工具和代码 也不行

继续百度

19.9.3日报:QQ快捷登录无法显示本地已登录QQ的问题

讲的有点不明不白的 没搞懂 到底是限制了什么

23年的blog说可以获取 19年的blog说QQ检测访问的来源

给整不会了 按理说 http 请求 客户端是没办法知道是谁发送的

陷入迷茫

转折

抓包对比查看请求有什么区别发现

TCP握手成功 刚发送 TLS 的 client hello包 时 QQ立刻就回复 rst包 断开连接了 根本还没到传输HTTP

问题应该出在 TLS 的 client hello上

搜索 TLS区分客户端时 看到了 TLS指纹 JA3指纹

猜测是因为QQ有校验JA3指纹

再转折

有同事的电脑 右键以管理员权限运行 就能显示快捷登录

排查到这已经裂开…

应该是QQ的问题吧

让朋友下载浏览器测试了一下 人不用管理员权限也能显示快捷登录

自己的电脑卸载QQ 安装新版本 QQNT 也能显示了

这下给我整不会了

找不到问题了 有异常的时候 Edge能访问 Chrome也能访问 就自己封装的浏览器不行

实在没找到问题

就当多了解了下 ja3吧