CVE-2025-61181CVE-2025-61181是daicuocms内容管理系统V1.3.13版本中存在的一个任意文件上传漏洞。该漏洞位于系统的图片上传功能中,由于服务器端对上传文件的类型和内容校验不足,攻击者可以绕过现有的安全限制,将恶意文件(如Web Shell)上传到服务器,从而实现远程代码执行。
daicuocms是一款基于PHP开发的开源内容管理系统,广泛应用于中小型网站的建设。该系统在图片上传模块中仅依赖客户端或简单的文件扩展名检查来验证上传文件的合法性,未对文件内容、MIME类型以及文件扩展名进行严格的服务器端校验。攻击者可以通过修改请求包中的文件名后缀或Content-Type字段,将PHP、ASP、JSP等可执行脚本伪装成图片文件上传。
该漏洞的CVSS 3.1评分为6.5,属于中危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需任何特权(PR:N),也无需用户交互(UI:N)。在影响方面,该漏洞对机密性(C:L)和完整性(I:L)存在低影响,但对可用性(A:N)无影响。攻击者成功利用该漏洞后,可以在服务器上执行任意代码,进而获取服务器控制权限、窃取敏感数据或植入持久化后门。由于无需认证即可利用,漏洞的危害面进一步扩大,对暴露在公网上的daicuocms站点构成严重威胁。
该漏洞的根本原因在于daicuocms V1.3.13的图片上传功能未对上传文件进行充分的安全验证。具体技术分析如下:
1. **文件类型校验缺陷**:服务器端仅检查了HTTP请求中的Content-Type字段或文件扩展名的白名单,但未对文件的实际内容(魔术字节/Magic Bytes)进行验证。攻击者可以通过伪造Content-Type为image/jpeg、image/png等合法图片类型,绕过类型检查。
2. **扩展名绕过**:上传功能未对文件扩展名进行严格的黑名单过滤或白名单限制。攻击者可以使用双扩展名(如shell.php.jpg)、空字节注入(如shell.php%00.jpg)或大小写绕过(如shell.pHp)等方式绕过简单的扩展名检查。
3. **上传路径可预测**:上传后的文件存储在Web可访问的目录中,攻击者可以通过猜测或直接获取返回的文件路径来访问上传的恶意文件。
4. **利用方式**:攻击者构造一个包含PHP Web Shell代码的图片文件(通过在合法图片中嵌入PHP代码或使用图片马工具生成),然后通过修改HTTP请求的Content-Type和文件名后缀,将其上传到目标服务器。上传成功后,攻击者直接访问该文件的URL即可执行任意PHP代码,实现远程命令执行。
5. **权限要求**:由于漏洞无需认证即可利用(PR:N),攻击者只需通过网络直接向目标站点的图片上传接口发送恶意请求即可完成攻击。