ZsAdmin(智数)PHP2Shell 核心级漏洞安全审计报告

张先生
张先生 主理虹翼巡游 执序官者社群翘楚勋望元宿
社区管理
红包 官方公告 161 浏览 164 回复

文档编号:ZSSEC-2026-AUDIT-PHP2SHELL
审计对象:ZsAdmin 智数开源框架业务代码
底层框架:ThinkPHP v8.1.4
审计范围:app/、plugins/、public/排除目录:vendor/ 第三方依赖源码
审计方式:危险函数溯源、数据流追踪、权限入口复核、WebShell 特征匹配
审计目标:核查未授权、越权场景下 RCE、命令执行、文件上传写马、LFI、SQL 写马、反序列化等 Getshell 核心漏洞
审计日期:2026-10-22
风险定级结论:🔵 核心高危漏洞:无

一、审计结论

✅ 未发现可直接利用的 PHP2Shell(RCE)核心漏洞
全量业务代码审计完成,不存在可被外部攻击者未授权或越权触发命令执行、代码执行,实现 Getshell 的高危攻击链路。框架对于高危执行函数、用户输入数据流做了有效的隔离与转义处理。

二、审计项明细

表格

审计项目状态详细说明
命令执行类函数(system /exec/shell_exec /passthru/proc_open /popen)✅ 安全危险函数仅在 shortvideo、community、backup、musicparse 插件内使用;外部输入参数统一 escapeshellarg 转义;proc_open 使用数组传参模式规避 shell 注入;ffmpeg/ffprobe 程序路径来自内置固定候选列表,不受用户输入控制
代码执行类函数(eval /assert/create_function)✅ 无业务调用项目自研代码不存在调用;eval 仅存在于 ThinkPHP 模板引擎底层渲染逻辑,属于框架原生机制,外部用户输入无法可控流入
文件上传 Getshell✅ 安全上传逻辑统一封装 UploadService;存储文件名采用文件内容哈希,不使用客户端原始文件名;全部上传入口配置扩展名白名单校验;public/storage / public/uploads 目录不存在写入 PHP 脚本的入口
路径穿越 LFI / 任意文件读写删✅ 安全PluginAsset 静态资源接口对 name、ext 做严格字符白名单过滤;文件删除控制器依赖数据库 ID 校验,参数经过 intval 强类型转换,无法目录穿越
SQL 注入 INTO OUTFILE 写马✅ 安全原生 SQL 中用户可控参数全部使用参数绑定,whereRaw 采用占位符传参,不存在直接拼接用户输入,无法利用 INTO OUTFILE 写入 WebShell
反序列化漏洞✅ 安全unserialize 仅框架模板缓存内部使用,序列化数据由服务端自主生成缓存,外部用户不可控
动态调用 / 动态实例化✅ 安全new $class 动态实例化类名取自已安装插件元数据表,不直接接收 HTTP 请求输入
框架安全基线✅ 安全ThinkPHP v8.1.4,路由白名单模式,不存在 TP5、TP6 系列历史知名 RCE 漏洞面
WebShell 后门特征扫描✅ 无未检出 eval (\(_POST)、base64_decode(\)_*)、危险函数直接接收超全局变量等后门特征代码

三、次要风险清单(⚠️ 非 RCE 高危漏洞,不支持 Getshell,建议迭代优化)

风险等级:🟡 低风险 / 代码健壮性优化项
  1. 部分插件配置页面无操作审计日志,敏感配置变更缺少追溯记录
  2. 调试模式开启时异常报错详情会暴露服务器路径,生产环境强制关闭 app_debug=true
  3. 插件市场远程下载插件包仅做 MD5 校验,缺少 RSA 非对称签名验签,存在被劫持替换插件包风险
  4. 后台管理员密码重置接口,验证码错误次数限制、有效期策略宽松,存在暴力尝试风险
  5. Nginx 静态资源跨域 CORS 配置未限制可信域名范围
  6. 任务备份生成的备份文件访问链接仅依靠随机文件名,缺少访问鉴权机制

四、安全建议

  1. 生产环境固化配置,严格关闭调试模式,关闭详细异常输出;
  2. 插件生态升级增加 RSA 签名验签机制,保障远程插件包完整性;
  3. 完善后台全量敏感操作审计日志;
  4. 对备份文件、导出文件增加访问鉴权;
  5. 持续跟进 ThinkPHP 官方安全更新,及时升级补丁。

五、审计总结

ZsAdmin(智数)框架业务层针对 PHP2Shell 这条核心攻击链路防护完善,高危执行面可控,本次审计未发现可 getshell 的核心漏洞。后续安全重心放在插件生态安全、后台权限审计、配置基线管控上。


帖内红包
评论164
评论 · 164
蔡明博
蔡明博 初级清瑶问鼎 · #20 ·
支持了~
倔强的月亮
倔强的月亮 新手暖弦漫旋 · #19 ·
已解决,谢谢楼主
Zane
Zane 初级麟宫绮梦 · #18 ·
已解决,谢谢楼主
IvyWolf
IvyWolf 新手 · #17 ·
同求,期待更新
韩桂
韩桂 初级心屿荧途 · #16 ·
同求,期待更新
FinnWong
FinnWong 初级星灿心语 · #15 ·
同求,期待更新
MellowBee
MellowBee 新手净世白羽 · #14 ·
感谢分享!
DrewChen
DrewChen 初级赏金猎人 · #13 ·
学到了,顶一下
温柔的白云
温柔的白云 初级漫步繁花 · #12 ·
感谢分享!
GraceSnow
GraceSnow 初级赏金猎人 · #11 ·
支持了~
RiverStone
RiverStone 初级心屿荧途 · #10 ·
已解决,谢谢楼主
BrightPath
BrightPath 初级番响心动 · #9 ·
支持了~
郭婷鑫
郭婷鑫 初级 · #8 ·
写得很清楚,收藏了
倔强的晚霞
倔强的晚霞 新手 · #7 ·
感谢分享!
WadeWave
WadeWave 新手漫步繁花 · #6 ·
同求,期待更新
KnoxStar
KnoxStar 初级璃梦花海 · #5 ·
写得很清楚,收藏了
Chase
Chase 初级麟宫绮梦 · #4 ·
学到了,顶一下
JoelSky
JoelSky 新手净世白羽 · #3 ·
支持了~
发光的少年
发光的少年 初级净世白羽 · #2 ·
已解决,谢谢楼主
Alex
Alex 初级番响心动 · #1 ·
写得很清楚,收藏了
2 3 4 5 6 7
微信客服 微信客服 QQ官方交流群 QQ官方交流群