浏览器无法QQ快速登录
公司开发了自己的套壳浏览器
有用户反馈 我们的浏览器在登录QQ的情况下 访问 https://mail.qq.com 登录时没有出现已经登录的QQ 无法快速登录
分析
首先用我平时使用的浏览器Yandex访问 QQ邮箱 嗯 也没有出现 快速登陆
换Chrome 访问QQ邮箱 出现了快速登录
看了下网络请求
网页访问了 localhost.ptlogin2.qq.com 对应的地址是 127.0.0.1
看来是 QQ启动了个web服务
用postman试试先 chrome和自己封装的浏览器差别应该只有ua
postman 模拟 chrome 的user-agent 也不行
百度
尝试了下文章提供的工具和代码 也不行
继续百度
讲的有点不明不白的 没搞懂 到底是限制了什么
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吧