ZsAdmin(智数)PHP2Shell 核心级漏洞安全审计报告
文档编号: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,建议迭代优化)
风险等级:🟡 低风险 / 代码健壮性优化项
- 部分插件配置页面无操作审计日志,敏感配置变更缺少追溯记录
- 调试模式开启时异常报错详情会暴露服务器路径,生产环境强制关闭
app_debug=true - 插件市场远程下载插件包仅做 MD5 校验,缺少 RSA 非对称签名验签,存在被劫持替换插件包风险
- 后台管理员密码重置接口,验证码错误次数限制、有效期策略宽松,存在暴力尝试风险
- Nginx 静态资源跨域 CORS 配置未限制可信域名范围
- 任务备份生成的备份文件访问链接仅依靠随机文件名,缺少访问鉴权机制
四、安全建议
- 生产环境固化配置,严格关闭调试模式,关闭详细异常输出;
- 插件生态升级增加 RSA 签名验签机制,保障远程插件包完整性;
- 完善后台全量敏感操作审计日志;
- 对备份文件、导出文件增加访问鉴权;
- 持续跟进 ThinkPHP 官方安全更新,及时升级补丁。
五、审计总结
ZsAdmin(智数)框架业务层针对 PHP2Shell 这条核心攻击链路防护完善,高危执行面可控,本次审计未发现可 getshell 的核心漏洞。后续安全重心放在插件生态安全、后台权限审计、配置基线管控上。
帖内红包
最新打赏



QQ官方交流群