获取腾讯云基于 TOTP 的 MFA Token

前言

多因素身份验证(Multi-Factor Authentication, MFA)可以在登录等重要操作中增加一层额外的保护,基于虚拟设备的 MFA 是能产生 6 位数字认证码的应用程序,遵循基于时间的一次性密码 (TOTP)标准(RFC 6238)。

众多知名的 APP,如 Google Authenticator、Microsoft Authenticator、Authy 和一些常见的密码管理器,如 1Password、Bitwarden 等均支持生成一次性密码。然而,腾讯云并不直接提供用于生成一次性密码的 Token,而是将 MFA 其内置于“腾讯云助手”微信小程序中,这给实际操作带来了不便。

文本通过抓包程序抓取真实 Token,从而优化腾讯云 MFA 验证的实际体验。

环境

  • iOS 15.3
  • 微信 (App Store) 8.0.18
  • Thor (App Store) 1.4.4.891

步骤

  1. 如您已经绑定 MFA,需要首先前往腾讯云后台解绑;

  1. 打开抓包软件,通过微信扫码绑定,直至流程结束;

  1. 找到 https://weapp.cloud.tencent.com/authenticator/ajax/ 请求,查看其 Request 的消息体;


  1. 其消息体结构如下,这里的 secret 就是 TOTP 的 Token 了;
1
2
3
4
5
6
7
8
9
10
11
12
{
"authCode": "",
"ownerUin": "",
"uin": "",
"secret": "",
"version": "v1",
"code": "",
"rawData": "",
"signature": "",
"iv": "",
"encryptedData": ""
}
  1. 填入第三方 MFA 工具后,不妨核对一下其和微信小程序中的一次性密码是否一致以及是否同时变化,一定保管好 Token。