彩虹易支付 syskey 泄露高危后门, 可被利用发起订单退款等操作

彩虹易支付 syskey 泄露高危后门, 可被利用发起订单退款等操作

利用过程:

  1. 访问者发送任意进入公共初始化的带有 >= 70200 的 PHP-Version 请求头的请求
  2. platform_check.php 将该值存入 SERVER_PHP_VERSION, 并设置用于隐藏字段名的字符串常量 SENTENCEIA
  3. autoload_real.php 按空格拆分句子, 拼出 conf 和 syskey, 读取 $GLOBALS['conf']['syskey']
  4. 程序将系统密钥写入 Set-Cookie: PHPSESSID 响应头, 返回给请求者

syskey 主要用途:

  1. 已知订单号, 伪造签名查询订单
  2. 已知订单号, 发起订单退款
  3. 已知红包编号, 领取红包
  4. 加解密 Cookie 到中间值, 但无法直接生成有效凭据
  5. 下单防刷, 部分授权, 实名认证流程, 收款链接, 邀请码等

影响范围:

已确认, 最新版本受影响, 2025 年的某个版本也受影响
根据文件时间戳来看, 至少 2023 年 10 月的版本开始就已受影响

修复步骤:

  1. 立即将这里提供的补丁文件放入 includes/vendor/composer, 重载 php
  2. 去数据库 pay_config 表的 k=syskey 那一行, 重新生成 32 位字母数字 syskey, 并删除数据库 pay_cache 表中 k=config 这条配置缓存
  3. 使用上面提供的脚本验证是否修复成功
  4. 核实业务数据, 比如订单数据是否有异常退款等
  5. 轮转后, 登录态失效, 上述提到的收款码, 邀请码, 红包链接等部分业务数据也会失效, 请及时核实更新

文件中提供了相应脚本, 可进行后门的简单检测和利用测试
Tip: 注意到彩虹自己的网站这个后门仍可用

原文以及补丁文件请前往 tg 频道 听荼蘼逼逼

3 个赞

:xhj17:

我们也在用易支付,是时候换一个了。

看他这个好像只是发起退款,同不同意还是商家说了算的吧

又来


还是用mapi吧

退款api如果你配置好了就是自动完成了