You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Chrome DevTools追踪JS生成密文?TP-Link OpenVPN端口限制突破求助

追踪TP-Link路由器OpenVPN配置请求中加密参数的生成流程

一、Chrome DevTools追踪加密参数步骤

1. 定位请求触发代码

  • 打开Chrome DevTools(按F12或右键选「检查」),切到Network面板,清空现有请求记录
  • 在路由器页面操作修改OpenVPN端口(随便填个合法端口提交),找到目标POST请求:https://tplinkwifi.net/cgi-bin/luci/;stok=XXXX/admin/openvpn?form=config
  • 右键该请求 → 「Copy」→「Copy as fetch」,把请求代码存下来,后面用来改参数重发
  • 切到Sources面板,点右上角的「XHR/fetch Breakpoints」,添加规则:输入/admin/openvpn?form=config,下次提交请求会自动断在发起请求的JS代码处

2. 回溯加密逻辑

  • 断点触发后,查看「Call Stack」调用栈,从上层的请求发起代码往下找,找到处理sign和data的代码段
  • 如果代码被混淆,点Sources面板里的「{}」按钮格式化代码,方便阅读
  • 直接搜索sign、data、encrypt、encode这些关键词,定位生成参数的函数
  • 在可疑函数上加断点,重新提交请求,一步步调试:
    • 观察data是否是先把包含端口的明文配置加密(比如AES+Base64组合)再输出
    • sign一般是签名,大概率结合了stok、请求内容、时间戳做哈希(比如SHA-256)

3. 修改端口并生成合法参数

  • 找到明文转data的逻辑后,调试时把明文里的端口改成443,执行加密逻辑得到新的data
  • 按照签名生成逻辑,用修改后的参数重新计算sign值
  • 把之前复制的fetch代码里的sign和data替换成新值,在DevTools的Console面板执行,发送修改后的请求
  • TP-Link后台的加密逻辑一般打包在app.js或main.js里,在Sources面板左侧文件列表搜这类文件名
  • 如果Base64解码后是乱码,说明是先做了对称加密(比如AES-CBC)再Base64编码,密钥和IV通常硬编码在JS里,或者从页面隐藏元素、Cookie里获取
  • 全局搜索stok相关变量,签名逻辑基本都会用到当前会话的stok值

内容的提问来源于stack exchange,提问作者Yen Cheng Han

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:36:35