为什么不要使用 QQ(或者微信)的内置浏览器
User Agent
TL;DR: User-Agent是一段HTTP标头(也可以通过JS获取),里面包含了让网站判断你的设备的一些信息。
QQ和微信的内置浏览器(实则套壳 WebView)会在 User-Agent 中添加过多没有必要的信息:
正常浏览器(手机 Chrome)的 UA:
plain
Mozilla/5.0 (Linux; Android 10; K)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/152.0.0.0 Mobile
Safari/537.36QQ 内置浏览器的 UA:
plain
Mozilla/5.0 (Linux; Android 15; <手机型号> Build/<手机系统构建版本>; wv)
AppleWebKit/537.36 (KHTML, like Gecko)
Version/4.0
Chrome/121.0.6167.71
MQQBrowser/6.2
TBS/047925 Mobile
Safari/537.36
V1_AND_SQ_<QQ版本>
QQ/<QQ版本>
NetType/WIFI -WiFi / 4G
WebP/0.3.0 -QQ用单独的库解析WebP?
AppId/537348298 -?
Pixel/1080 -横向分辨率
StatusBarHeight/104 -状态栏高度,你WebView内的视口关心这个干啥
SimpleUISwitch/1 -是否启用了QQ的简介UI
QQTheme/2920 -QQ的主题ID?
QQExt/1 -
StudyMode/0 -学习模式???
CurrentMode/1 -简洁模式?
CurrentFontScale/1.0 -字体缩放
GlobalDensityScale/0.960004-缩放,但是浮点数不准
AllowLandscape/false -允许旋转?
InMagicWin/0 -魔法小窗?微信内置浏览器的 UA:
plain
Mozilla/5.0 (Linux; Android 15; <手机型号> Build/<手机系统构建版本>; wv)
AppleWebKit/537.36 (KHTML, like Gecko)
Version/4.0
Chrome/146.0.7680.178
Mobile
Safari/537.36
XWEB/1460249
MMWEBSDK/20260202
MMWEBID/4857
REV/<...>
MicroMessenger/<微信版本>
WeChat/arm64 -?
Weixin -?
NetType/WIFI
Language/zh_CN -window.navigator: ?
ABI/arm64 -告诉ABI干什么,你微信是允许加载任意二进制吗拦截(白名单)
QQ 的站点拦截貌似比微信要严格。并且QQ的站点拦截是在每次跳转到新站都要检查的,并且这得把你访问的站点发送到腾讯的服务器来检查,这就相当于你第二、第三跳的网站都可以被腾讯得知。
阴谋论
下列行为是腾讯可以进行的,但是目前没有证据:
- 镜像你在内置浏览器全部的明文流量(包括输入的密码等)
- 保存你的Cookie
- 用你访问的网站做个性化推荐
- [censored]
以及一些还没有人确认的:
- 是否存在不公开的API,可以被网站任意调用后获得更多的信息
- 如果存在上述API,是否存在实现漏洞导致沙盒失效
Copyright (c) wangyupu 2025. License under MIT License