youpaishidifu
|
7d4ed3e7cd
|
加固-05(P0-04): api GetAppInfo 不再明文下发 connectkey/decryptkey
api/Communication.php 的 GetAppInfo 模块原实现把 sq_apps 全行
(含 connectkey/decryptkey 明文)返回给 SDK。这两个密钥是服务端与
SDK 通信的签名/解密密钥(第21行 new communication($appinfo['connectkey'],
$appinfo['decryptkey'])),任何持有合法 token 的调用方或其抓包者拿到
明文密钥后,可伪造该应用的任意 API 请求/解密响应。
修复:GetAppInfo 响应中 connectkey/decryptkey 掩码为 8 个 *,
其余字段(appname/ver/free/notice/upurl 等 SDK 所需配置)正常下发。
验证(c=api 全链路): 构造测试应用(known keys) → Initialization 取 token
→ GetAppInfo:connectkey/decryptkey 均为 "********",appname/free 等
字段正常,响应全文不含真实密钥明文。php -l 通过。
|
2026-10-10 11:38:57 +08:00 |
|
youpaishidifu
|
347af5537a
|
加固-04(P0-03): api/monitor.php 监控脚本鉴权 + 修复补单逻辑
- 增加鉴权:监控调用须带 ?key=monitor_key;密钥首次调用时自动生成
(64hex,持久化到 sq_config setname='monitor_key',setname.inc.php
增加种子行),hash_equals 校验,不匹配返回 403。杜绝匿名触发
补单/清库。key 可通过 SELECT setvalue FROM sq_config WHERE
setname='monitor_key' 获取,配置到 cron/监控服务。
- 修复 if(!!$result = select_limit_row(...) && count(...) > 0)
运算符优先级断逻辑:拆为先取值再判断。
- 修复未定义变量 $tradeno(原 update 条件引用了从未赋值的 $tradeno)。
- trade_do 补单改为仅在状态 2->3 翻转成功(影响行数>0)时执行;
影响行=0(已被先行进程完成)则跳过,防并发/重复补单。
- 修复 sq_apps 空表时 !array() 为真 导致误报"获取应用信息发生错误"
(改为 false === 判断)。
- 结尾输出 JSON 结果(log/error),便于监控服务核对。
验证: 无key/错key 均 403;正确key 200;构造 status=2 测试订单,
首跑补单(agent 余额 100->110,trade 2->3),二跑无重复补单。
php -l 通过。
|
2026-10-10 11:32:56 +08:00 |
|
youpaishidifu
|
6669f4bc9c
|
加固-01/02: CWD 无关 include 改造 + UEditor 全入口鉴权 (P0-01)
A. 相对路径 include/require 全量改写为 __DIR__ 基址
- 修复 nginx+fastcgi 下 php-cgi 继承启动目录 CWD (D:\phpstudy_pro\COM)
导致 require '../function/...' 相对路径 include 全部失效;
28 文件 101 处统一改为 __DIR__ 绝对基址,任意 Web 服务器行为一致。
- 补齐带括号/缺斜杠漏改的 13 处 (controller.php、epay lib、
payment.php、notify_url.php、return_url.php)。
- function/config.inc.php 增加 config.local.inc.php 本地覆盖机制
(该文件加入 .gitignore 不入库),仓库默认配置保持中立。
B. UEditor 后台入口安全加固 (P0-01)
- admin/php/controller.php 全部 action 前置管理员会话校验
(admin_username + admin_password),匿名无法上传/抓取/列目录/读配置。
- 禁用远程图片抓取 catchimage (SSRF 向量),删除 action_crawler.php。
- 上传/列表白名单剔除 .exe/.dll/.iso/.cab/.swf。
- Uploader: 移除 iconv('unicode') Windows 告警行;
getFileInfo/action_list 的 URL 拼接增加 REQUEST_SCHEME 回退。
验证: 匿名访问全部 action 返回未授权;登录态上传成功且 URL 正确;
catchimage 已禁用;JSON 合法;全量 php -l 0 错误;
nginx(8081) 与内置服务器(8082) 双通道回归通过。
|
2026-10-10 11:10:29 +08:00 |
|
xiaodaii
|
ae507d7be7
|
修已登录IP错误
|
2021-07-31 01:39:38 +08:00 |
|
wenquan
|
40db18262c
|
删除授权系统和取消忽略数据库配置文件
|
2020-04-11 17:48:03 +08:00 |
|
温泉
|
b1c923b3d0
|
修复获取应用信息失败问题
|
2019-12-10 23:47:49 +08:00 |
|
温泉
|
ed35810923
|
Initial commit
|
2019-12-09 10:23:56 +08:00 |
|