彩虹易支付 syskey 泄露高危后门, 可被利用发起订单退款等操作
利用过程:
- 访问者发送任意进入公共初始化的带有 >= 70200 的 PHP-Version 请求头的请求
- platform_check.php 将该值存入 SERVER_PHP_VERSION, 并设置用于隐藏字段名的字符串常量 SENTENCEIA
- autoload_real.php 按空格拆分句子, 拼出 conf 和 syskey, 读取 $GLOBALS['conf']['syskey']
- 程序将系统密钥写入 Set-Cookie: PHPSESSID 响应头, 返回给请求者
syskey 主要用途:
- 已知订单号, 伪造签名查询订单
- 已知订单号, 发起订单退款
- 已知红包编号, 领取红包
- 加解密 Cookie 到中间值, 但无法直接生成有效凭据
- 下单防刷, 部分授权, 实名认证流程, 收款链接, 邀请码等
影响范围:
已确认, 最新版本受影响, 2025 年的某个版本也受影响根据文件时间戳来看, 至少 2023 年 10 月的版本开始就已受影响
修复步骤:
- 立即将这里提供的补丁文件放入 includes/vendor/composer, 重载 php
- 去数据库 pay_config 表的 k=syskey 那一行, 重新生成 32 位字母数字 syskey, 并删除数据库 pay_cache 表中 k=config 这条配置缓存
- 使用上面提供的脚本验证是否修复成功
- 核实业务数据, 比如订单数据是否有异常退款等
- 轮转后, 登录态失效, 上述提到的收款码, 邀请码, 红包链接等部分业务数据也会失效, 请及时核实更新
文件中提供了相应脚本, 可进行后门的简单检测和利用测试Tip: 注意到彩虹自己的网站这个后门仍可用
原文以及补丁文件请前往 tg 频道 听荼蘼逼逼
⚠️内容来自互联网,如有侵权请点击反馈!侵权投诉 |