为什么不要使用 QQ(或者微信)的内置浏览器

为什么不要使用 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.36

QQ 内置浏览器的 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