首页 新闻 会员 周边 捐助

向各位大佬请教一个字符串编码问题

0
悬赏园豆:100 [待解决问题]

URL请求提交的参数有 code=RCTVG-ZUGR7-VE48L-M5M2V-CNDJV&hard=6FA41B9E99F0E7

然后返回的内容是
{"Result":"qKicffo9bnJ0n6SVw9i6obvilJbdUNeqwLsvBjJJZRLKbz3zrlTll0L3mkFdbGw/PPuwjowH5DQY+KoP3wJN6A==",
"old":"ETFEE9t3WU93E3I-F3-FU93Ett-F3-8E9U74IFmt6tt7E6V"}

请教各位大佬:URL里面的 code和hard 是通过什么编码方式得到返回结果里面的Result?

已知信息:

  1. URL提交同样的参数, 每次得到的Result值完全不一样,但是old值是一样的。
  2. 以上述结果为例,将old值分成5段,然后改变URL请求参数
    ① ETFEE9 ( 保持不变)
    ② t3WU (随机变化)
    ③ 93E3I-F3-FU93Ett- (保持不变)
    ④ F3-8E9U (URL里面的code变化,这一段就变化)
    ⑤ 74IFmt6tt7E6V (URL里面的hard变化,这一段就变化)

如果各位大佬有一些思路,也请留言帮帮小弟

落叶护花的主页 落叶护花 | 初学一级 | 园豆:102
提问于:2024-12-16 15:27
< >
分享
所有回答(3)
0

base64

PasteSpider | 园豆:210 (菜鸟二级) | 2024-12-16 17:44

我把qKicffo9bnJ0n6SVw9i6obvilJbdUNeqwLsvBjJJZRLKbz3zrlTll0L3mkFdbGw/PPuwjowH5DQY+KoP3wJN6A== 用base64解码后,全部都是乱码,这有可能是什么原因呢? 请赐教

支持(0) 反对(0) 落叶护花 | 园豆:102 (初学一级) | 2024-12-17 09:51

@落叶护花: MD5

支持(0) 反对(0) tpen | 园豆:207 (菜鸟二级) | 2024-12-18 11:19
0

code的值很像是某一东西的授权码(激活码)呀

牧羊人8683 | 园豆:208 (菜鸟二级) | 2024-12-18 10:11
0

根据你提供的信息,URL 请求参数 codehard 似乎被用作某种编码或加密处理,这主要使用于生成返回结果中的 Result 字段。下面是分析该问题的一些思路:

1. 结果观察

你提到 Result 在每次请求中都是随机变化的,而 old 的值是恒定的。考虑到 HTTPS 和 URL 编码通常会涉及到一些轻微的变化,比如时间戳、随机填充等,可能会影响 Result 的返回。

2. 编码/加密类型推测

有几个可能的编码或加密方式可以对 codehard 进行处理以生成 Result,常见的方式如下:

  • 对称加密:如 AES、DES、3DES 等。输入的参数可能会被用作加密的关键部分或向量,以产生固定长度的输出。
  • 哈希函数:可能会对两个参数进行某种形式的哈希,再进行 Base64 编码。
  • 组合加密:如先将 codehard 进行拼接或其他处理,然后进行加密,最后进行 Base64 编码。
  • 随机数影响:可能会加入一个服务器随机数、时间戳等因素,导致每次生成的 Result 都不同。

3. old 值的分析

根据你对 old 内容的描述,它由几个固定部分组成:

  • 第一部分和第三部分保持不变。
  • 第二部分和第四、第五部分与 URL 中的参数直接相关。

这表明 old 的结构是固定的,但 codehard 的变化会使生成的新内容覆盖固定部分。

4. 数据生成流程推测

根据字符串的变化,我们可以推测一个可能的逻辑链:

  1. codehard,进行某种操作(如连接、拼接等)。
  2. 使用固定算法(对称加密或哈希)处理结合后的字符串。
  3. 然后对处理结果进行 Base64 编码,形成 URL 字符串可以传输的格式。
  4. old 可能是某种验证信息,保持不变的部分可能表明不随请求而改变的 secret 或 salt。

5. 可能的解码/再现生成逻辑

如果我们没有确切的算法细节,最好的办法是尝试一些常见的加密和编码方法:

  • 编码尝试:将 codehard 字符串组合,试图使用 Hash(如 SHA256、MD5)产生一个合成哈希值,并使用 Base64 编码。
  • 加密尝试:假设使用 AES 或其他对称加密方法,试着将 codehard 与一些已知的密钥进行加密。

6. 攻击与实践

最后,理论上分析后,实际尝试访问 API 接口并捕获请求和响应,使用不同的输入组合进行爆破,观察输出,给出不同的变量结果。这有助于猜测其中的编码/加密逻辑。

如果能够抓包分析发送的请求、比较参数和返回结果,那么可能会更清楚地了解其逻辑。如果你能够访问代码或文档,检查 Result 的生成逻辑是解决这一问题的最直接方法。

7. 结论

由于缺乏具体的加密算法和更多上下文,完整还原 Result 的生成逻辑可能比较困难。不过,通过逐步尝试和分析,你可能会找到其中的一些线索。如果你有权限来获取这部分代码或者相应的文档资料,那会是最理想的。希望这些思路对你有帮助!如果有更详细的信息或上下文,我会乐意提供更具体的指导!

Technologyforgood | 园豆:7775 (大侠五级) | 2024-12-19 10:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册