[公开漏洞]网康NS-ASG应用安全网关大量漏洞集合

来源:WooYun 浏览:862次 时间:2014-06-14
做网站找雨过天晴工作室
网康NS-ASG应用安全网关大量漏洞集合 相关厂商: 网康科技 漏洞作者:路人甲 提交时间:2014-04-30 14:15 公开时间:2014-06-14 14:16 漏洞类型:设计缺陷/逻辑错误 危害等级:高 自评Rank:20 漏洞状态: 厂商已经确认 漏洞来源:http://www.wooyun.org Tags标签: 设计缺陷/边界绕过 设计错误 设计缺陷 漏洞详情 披露状态:

2014-04-30:细节已通知厂商并且等待厂商处理中
2014-05-01:厂商已经确认,细节仅向厂商公开
2014-05-11:细节向核心白帽子及相关领域专家公开
2014-05-21:细节向普通白帽子公开
2014-05-31:细节向实习白帽子公开
2014-06-14:细节向公众公开

简要描述:

网康NS-ASG应用安全网关存在严重设计缺陷
包括命令执行、SQL注入、越权、任意文件下载等等等等...

详细说明:

#1 SQL注入漏洞

/3g/index.php

$AgentContent = $_SERVER['HTTP_USER_AGENT'];
$AcceptContent = $_SERVER['HTTP_ACCEPT'];
$time = date("Y-m-d H:i:s",time());
$insert = "insert into MobileInfoTable values(NULL,'$AgentContent','$AcceptContent','$time');";



其中$AgentContent,$AcceptContent 不受GPC限制造成SQL注入漏洞

$AgentContent = $_SERVER['HTTP_USER_AGENT'];
$AcceptContent = $_SERVER['HTTP_ACCEPT'];



证明:

1.jpg





#2 命令执行

/admin/configguide/ipsec_guide_1.php

function getifipmask($ethx,$ipstr,$maskstr,$macstr)
{
unset($commandRet);
exec("sudo /sbin/ifconfig $ethx | head -1 | awk '{print $5}'",$commandRet);
//macaddr format 00:0C:29:17:AE:4B
$macstr = $commandRet[0];

unset($commandRet);
exec("sudo /sbin/ifconfig $ethx | head -2 | awk '{NR==2} END{print $2}'",$commandRet);
//ipaddr format:addr:192.168.1.126
sscanf($commandRet[0],"addr:%s", $ipstr);

unset($commandRet);
exec("sudo /sbin/ifconfig $ethx | head -2 | awk '{NR==2} END{print $4}'",$commandRet);
//mask format:Mask:255.255.255.0
sscanf($commandRet[0],"Mask:%s",$maskstr);
}



不多说 :

2.jpg





#3 任意修改防火墙策略

/admin/add_fire_wall.php

3.jpg



这里也有 /admin/add_ikev2.php



#4 任意文件下载

/admin/cert_download.php

<?php
$filename = substr($file,strpos('certs/',$certfile)+6);
//文件的类型
header('Content-type: application/pdf');
//下载显示的名字
header('Content-Disposition: attachment; filename="'.$filename.'"');
readfile("$certfile");
exit();
?>





#5 N多SQL注入漏洞

/admin/config_Anticrack.php?GroupId=111
/admin/config_ISCGroupNoCache.php?GroupId=111
/admin/config_ISCGroupSSLCert.php?GroupId=111
/admin/config_ISCGroupTimePolicy.php



GroupId参数没有过滤造成SQL注入

选择其一证明:

4.jpg





#6其他SQL注入,太多了

SQL注入漏洞

/admin\config_MT.php?action=delete&Mid=1 Mid

/admin/count_host.php 该页多个参数存在注入漏洞 比如:主机名

/admin/count_user.php 该页多个参数存在注入漏洞 比如:用户名

/admin/edit_fire_wall.php?FireWallId=111 FireWallId参数

/admin/edit_user_login.php 该页面多个参数存在SQL注入漏洞

/admin/export_excel_user.php SQL注入漏洞



#7多个命令执行漏洞:

/admin/detail_tunel.php

passthru("/sbin/ipsec statusall |grep $tunnelname");
$temp1=explode("{",$tunnelname);
exec("/sbin/ipsec statusall | grep ".$temp1[0]."[{[]", $readStr);





太多了。。。

任意文件下载

/commonplugin/Download.php?reqfile=Download's filename



任意命令执行:

/commonplugin/DownloadWebCert.php

$conv = "/Isc/third-party/openssl/bin/openssl pkcs12 -export -in " . $CertFile . " -inkey " . $KeyFile . " -passin pass:" . $pass ." -passout pass:" . $pass . " -out " . $P12OutFile;

unset($result);

exec("sudo " . $conv, $result, $error);

其中pass参数可控



/commonplugin/getsysdatetime.php

if($changetime!="")

{

exec("sudo date -s '$changetime'");

exec("sudo /sbin/hwclock --systohc");

exec("sudo rm ../admin/drawpic/cpu.data ../admin/drawpic/cputime.data");

}



/debug/list_logfile.php 这个文件非常重要,但多个参数可造成任意命令执行

/debug/rproxy_diag.php 这个文件也有同样的问题



case "delete":

$count = count($logfile);

if($count <=0)

show_error("未选择操作数据行!");



for($i = 0; $i<$count; $i++)

{

$del = "sudo rm -f ".$logfile[$i];

system($del);

}

redirect("list_logfile.php");

break;

case "showlicense":

... ...

case "restartservice":

$command = "sudo /etc/init.d/".$bash." stop";

exec($command);

$command = "sudo /etc/init.d/".$bash." start";

exec($command);

redirect("list_logfile.php");

break;

case "advlogfalse":



任意命令执行

/debug/show_logfile.php

exec("sudo cat $filename",$read); //filename可控



SQL注入

/WebPages/applyhardware.php 多个参数存在SQL注入

/WebPages/applyhardware.php?action=applyhardware&hard_user=%2527 (双编码即可)



/WebPages/history.php uid参数SQL注入

$query="select SessionId from ISCOnLineUser where SessionId=$uid";



/WebPages/singlelogin.php 多个参数SQL注入

如:/WebPages/singlelogin.php?submit=1&loginid=11'

漏洞证明:

严重提示一下,/admin、目录下的程序几乎全部都存在SQL注射漏洞,太多了只能一句话概括了。

修复方案:

感觉可以重新改写代码了..

版权声明:转载请注明来源 路人甲@乌云 漏洞回应 厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2014-05-01 22:06

厂商回复:

4月29日,网康收到CNVD漏洞细节通知,迅速启动并同时展开了以下工作:
1.进一步验证漏洞细节,目前已确认所曝漏洞确实存在于ASG产品;
2.对全线产品进行安全自查,重点确认ASG产品是否仍存其它未知漏洞,并验证类似漏洞是否同存于其它产品线,截至目前,自查工作仍在进行中,全线产品暂未发现新的漏洞;
3.开发用于漏洞修补的更新程序,将尽快发布应急补丁包,介时用户可通过操作设备管理界面直接安装该更新程序以对所曝漏洞进行应急性修补;
4.售后服务部通过内部CRM系统导出全部ASG用户名单,并开始逐一联系用户通报漏洞情况,补丁包发布后,将再次逐一通知所有用户及时安装更新,此项工作预计3工作日内完成;
5.为避免统计疏漏,工程部于4月30日16:00向CNVD共享了在线ASG设备的辨识方法,将配合CNVD共同开展在线设备的主动探测工作,一旦发现未更新补丁的在线设备,将联系并协助用户及时更新,此项工作预计10工作日内完成;
6.将尽快向社会开放漏洞提交邮箱,接受第三方机构、白帽子及其它组织、个人向网康提交产品漏洞,向所有帮助网康产品进步的组织和人士表示感谢。

最新状态:

暂无