CVE-2022-50898NanoCMS 0.4是一款轻量级内容管理系统,该版本存在一个严重的认证后文件上传漏洞,CVSS评分高达8.8,属于高危漏洞。攻击者通过利用该CMS的页面创建功能,可以在通过身份验证后上传包含恶意代码的PHP文件到服务器的pages目录。由于系统未对上传的文件内容进行充分的输入验证和安全检查,攻击者可以绕过文件类型限制,将任意PHP代码写入服务器。一旦恶意文件成功上传并被访问,攻击者即可在目标服务器上执行任意系统命令,实现远程代码执行(RCE),从而完全控制受影响的Web服务器。该漏洞的严重性在于它允许已认证的低权限用户获取服务器的最高控制权限,可能导致数据泄露、服务中断乃至整个系统被入侵。由于NanoCMS通常部署在小型企业网站和个人项目中,管理员可能忽视其安全更新,进一步增加了被攻击的风险。
漏洞根源在于NanoCMS 0.4的页面创建功能缺乏对用户输入的严格过滤。攻击者首先需要获取CMS的有效用户凭据并登录系统。登录后,攻击者访问页面创建功能(通常位于/admin/或类似的路径),在页面内容字段中插入恶意PHP代码。系统会将用户提交的内容直接写入到pages目录下的.php文件中,未进行任何代码清理或安全校验。攻击者可以利用标准的PHP代码片段(如<?php system($_GET['cmd']); ?>)创建一个webshell。文件保存后,攻击者通过HTTP请求直接访问该PHP文件,并附带命令参数即可在服务器上执行系统命令。整个利用过程无需复杂的绕过技术,标准的文件上传限制(如MIME类型检查)对该攻击无效,因为攻击者并未通过传统文件上传机制,而是利用了页面内容保存功能。该漏洞的利用成功取决于几个因素:攻击者持有有效账号、服务器对pages目录具有写权限、PHP解析功能正常启用。