metinfo全版本通杀SQL注入漏洞 远程执行代码分析与修复

近日,我们SINE安全对metinfo进行网站安全检测发现,metinfo米拓建站系统存在高危的sql注入漏洞,攻击者可以利用该漏洞对网站的代码进行sql注入攻击,伪造恶意的sql非法语句,对网站的数据库,以及后端服务器进行攻击,该metinfo漏洞影响版本较为广泛,metinfo 6.1.0版本,metinfo 6.1.3版本,metinfo 6.2.0都会受到该网站漏洞的攻击。

metinfo建站系统使用的PHP语言开发,数据库采用的是mysql架构开发的,在整体的网站使用过程中,简单易操作,可视化的对网站外观进行设计,第三方API接口丰富,模板文件较多深受企业网站的青睐,建站成本较低可以一键搭建网站,目前国内使用metinfo建站的网站数量较多,该metinfo漏洞会使大部分的网站受到攻击影响,严重的网站首页被篡改,跳转到其他网站,以及网站被劫持跳转到恶意网站上,包括网站被挂马,快照被劫持等情况都会发生。

关于该metinfo漏洞的分析,我们来看下漏洞产生的原因:

该漏洞产生在member会员文件夹下的basic.php代码文件:metinfo独有的设计风格,使用了MVC框架进行设计,该漏洞的主要点在于使用了auth类的调用方式,在解码加密过程的算法中出现了问题,我们再来看下代码:

通常加密,以及解密的算法是不可以可逆的,但是metinfo写的代码可以进行伪造函数值进行逆算,我们看这个构造的恶意函数,这里的key值是从前端met_webkeys值里进行获取,将获取到的webkeys值进行写入,并赋值到配置文件里,config目录下的config_safe.php代码里。我们通过查看这个代码,发现写入的值没有办法进行PHP脚本的执行,本来以为可是伪造key值进行写入木马,发现行不通,但是在这个伪造key值的过程可以进行sql注入攻击,采用是延时注入方式进行攻击,GET请求,以及post请求方式,cookies方式都可以sql注入成功,下面我们来测试下

sql注入:

GET请求的方式进行注入:

GET /admin/index.php?n=user&m=web&c=register&a=doemailvild HTTP/1.1

Cookie:

p=00c7%2FDBwD23b41olxVCthTvDDTRBhldmrrdyA8S3t%2F3yAl4QZ0P%2FSfOS5zlB  

把具体的SQL注入语句放到 cookie中进行攻击,我们发现注入成功了。上面这个注入普通用户访问即可成功。下面这个注入方式需要用户登录权限,注册一个普通账户,然后抓取cookies值进行伪造sql注入语句掺杂到cookies里,进行注入,代码如下:

 

 

 

/admin/index.php?n=user&m=web&c=profile&a=dosafety_emailadd HTTP/1.1

 

Cookie: p=497cD9UpkDtsvFzU9IKNlPvSyg1z%2bf09cmp8hqUeyJW9ekvPfJqx8cLKFSHr;<

 

自己抓取当前登录会员的cookie值>

 

 

 

关于metinfo漏洞的修复建议,以及安全方案

 

目前metinfo最新版本发布是2019年3月28日,6.2.0版本,官方并没有针对此sql注入漏洞进行修

 

复,建议网站的运营者对网站的后台地址进行更改,管理员的账号密码进行更改,更改为数字+

 

字符+大小写的12位以上的组合方式,对网站的配置文件目录进行安全限制,去掉PHP脚本执行

 

权限,如果自己对代码不是太熟悉,建议找专业的网站安全公司来处理修复漏洞,国内SINE安全

 

,以及绿盟,启明星辰,都是比较不错的漏洞修复公司。

版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

猜你还会喜欢下面的内容

    无相关信息

中国领先的互联网域名及云服务提供商

为您提供域名,比特币,P2P,大数据,云计算,虚拟主机,域名交易最新资讯报道

域名注册云服务器