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

CTF网页JS代码求助:conexion函数逻辑与密码解析疑问

解析CTF中conexion函数的Password字符串问题

嘿,咱们一步步拆解你遇到的这个CTF问题:

首先解决你疑惑的末尾===的作用:

  • 在JavaScript语法里,===是严格相等运算符,但这里它是字符串"Plan:KZQWYZLOMNUWC==="的一部分,不是代码逻辑。这大概率是编码填充符——最常见的就是Base64编码,它用=来把编码后的字符串长度补成4的倍数(不过通常最多两个=,这里三个可能是多轮编码或者自定义编码的结果)。

接下来分析你拆分code1、code2的问题:
你把code1定为Plan、code2定为KZQWYZLOMNUWC不对,核心问题是没处理后面的编码内容。结合===的提示,我们可以从编码角度入手:

  1. 先看前缀Plan::这更像是一个标识,说明后面的内容是按照某个“规则(Plan)”加密/编码的,可能是提示编码类型,或者是后续解码的密钥前缀。
  2. 处理编码部分KZQWYZLOMNUWC===:
    • 先尝试标准Base64解码:你可以在浏览器控制台里用atob("KZQWYZLOMNUWC===")试试(注意atob要求输入是合法Base64,三个=可能不合法,那可以去掉一个变成KZQWYZLOMNUWC==再试)。
    • 如果Base64解码结果不是明文,那可能是多轮编码:比如先做了字母替换(比如凯撒密码、ROT13)再Base64,或者反过来。比如试试把KZQWYZLOMNUWC每个字母按ROT13移位(A↔N,B↔O...),得到XMDJLMYBAHZJP,再做Base64解码?
    • 也有可能是自定义的字母映射:比如把Base64的字符集做了替换,比如把A-Z对应到其他顺序,这时候需要结合conexion函数里的解码逻辑来反推。

另外,如果你能拿到conexion函数的完整代码,会更容易定位——比如函数里是不是把Password按冒号拆分后,对code2做了解码操作,再和某个目标值对比?举个常见的CTF函数逻辑例子:

function conexion() {
  const Password = "Plan:KZQWYZLOMNUWC===";
  const [prefix, encoded] = Password.split(':');
  // 假设这里有解码逻辑
  const decoded = atob(encoded.replace(/===/, '==')); // 处理填充符
  if (decoded === "correct_flag") {
    // 验证通过
  }
}

建议你先尝试调整填充符后做Base64解码,再根据结果尝试进一步的字符移位或替换,应该就能找到正确的code1和code2组合了。

内容的提问来源于stack exchange,提问作者John Javascript

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:06:08