# EasyCMS UserAction.class.php SQL注入漏洞
## 概述
EasyCMS 1.6 及之前版本中存在一个SQL注入漏洞,位于 `/UserAction.class.php` 文件中。攻击者可通过操纵参数 `_order` 实现SQL注入,进而执行恶意SQL语句。
## 影响版本
EasyCMS 1.6 及之前版本
## 细节
漏洞存在于 `/UserAction.class.php` 文件,对 `_order` 参数未进行有效过滤或转义,导致攻击者可注入恶意SQL代码。该漏洞可被远程利用。
## 影响
攻击者可利用该漏洞执行任意SQL命令,可能导致数据泄露、数据篡改、权限提升或数据库服务器被完全控制。相关利用代码已公开,且厂商未对漏洞披露作出回应。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: A SQL injection vulnerability exists in /UserAction.class.php of EasyCMS v1.6 · Issue #15 · ueh1013/VULN -- 🔗来源链接
标签:exploitissue-tracking
神龙速读:
### 漏洞关键信息
- **漏洞类型**: SQL 注入漏洞
- **受影响产品**: EasyCMS v1.6
- **受影响文件**: `/UserAction.class.php`
- **影响范围**:
- 攻击者可以绕过身份验证,直接登录系统,甚至获得管理员权限
- 能够读取、修改和删除数据库中的敏感数据
- 执行系统命令,控制服务器,植入 trojan 病毒,进一步攻击内网设备
- 导致经济和品牌损失,违反数据保护法规,可能导致法律责任
- **问题描述**:
- SQL 注入漏洞存在于 `UserAction.class.php` 文件中,触发路径为 `/admin/user/index`(对应的 URL: `http://www.easycms.com/index.php?s=/admin/user/index.html#listusers`)
- 漏洞原因是 `_order` 参数没有有效过滤,直接拼接到 SQL 查询语句中
- 攻击者可以通过构造包含恶意 SQL 语句的请求包来触发漏洞,使用时间延迟注入方式验证
- 通过 SQLMap 工具验证后端数据库为 MySQL ≥ 5.0.12
- **POC 攻击细节**
- 导航至该页面,点击刷新并捕获数据包
- 输入延迟 2 秒,以及双延迟(4 秒)将在此处发生
- 使用 SQLMap 工具利用该漏洞命令示例
```bash
python sqlmap.py -r 1.txt --batch
```
- 验证后端数据库为 MySQL≥5.0.12
- **修复建议**:
- 对参数进行严格过滤和验证,采用参数化查询方式代替直接拼接 SQL 语句
- 对相关参数进行编码和数据编码转换操作,确保恶意代码在执行前被转义
- 遵循最小权限原则,限制数据库操作账户权限
- 更新依赖组件和相关软件版本,修复已知的安全漏洞
- 进行安全测试和验证,启用数据库操作日志和 Web 访问日志记录异常行为
暂无评论