插件远程中心停用与 ZIP 解压链路加固
xiaobai 18小时前

2026-06-07 插件远程中心停用与 ZIP 解压链路加固

本次确认 plugin.xiuno.com 插件站点已不可用,因此停用后台插件中心、远程下载、购买轮询和远程升级链路,仅保留本地插件管理能力。同时保留 ZIP 解压路径校验,避免其它调用场景出现 Zip Slip 风险。

主要改动:

  1. 停用插件中心入口
  • 文件:admin/menu.conf.php
  • 后台插件菜单只保留“本地插件”和“开发脚手架”,移除免费/收费插件入口。
  • 文件:admin/route/plugin.php
  • official_feeofficial_freedownloadis_boughtupgrade 等远程相关动作统一返回插件中心已停用”。
  1. 本地插件管理不再合并远程数据
  • 文件:model/plugin.func.php
  • 插件列表固定为空,不再请求 plugin.xiuno.com
  • 本地插件详情不再拼接图标、截图、星级、版本和远程升级状态。
  • have_upgrade 固定为 FALSE,避免后台显示不可用的远程升级入口。
  1. 清理后台插件远程 UI
  • 文件:admin/view/htm/plugin_list.htm
  • 插件列表改为纯本地管理视图,仅显示体检、设置、安装、启用、禁用、卸载等本地操作。
  • 文件:admin/view/htm/plugin_read.htm
  • 移除支付轮询和远程升级按钮。
  1. 补齐本地插件状态变更 CSRF 校验
  • 文件:admin/route/plugin.php
  • install  enable 路由补充 admin_csrf_check_token(),与 unstalldisable 保持一致。
  • download  upgrade 远程动作保持停用提示,避免直接访问旧 URL 触发远程下载或升级逻辑。
  1. ZIP 解压保留 Zip Slip 防护
  • 文件:xiunophp/xn_zip.func.php
  • 解压前遍历所有 zip entry,禁止空文件名、NUL 字节、反斜杠、绝对路径、Windows 盘符路径和 .. 路径穿越。
  • 只有全部 entry 通过校验后才调用 ZipArchive::extractTo()
  •  ZipArchive 扩展时不再回退到旧解压实现,避免绕过 entry 预检。


    欢迎大家加入QQ交流群:785017513

 
最新回复 (0)
全部楼主
返回
xiaobai
二级用户组
27
主题数
4
帖子数
扫码访问