网站漏洞检测 Metinfo 6.2.0上传漏洞详情与修复方案

简介: Metinfo CMS系统被爆出网站存在漏洞,可上传任意文件到网站根目录下,从而使攻击者可以轻易的获取网站的webshell权限,对网站进行篡改与攻击,目前该网站漏洞影响范围是Metinfo 6.2.

Metinfo CMS系统被爆出网站存在漏洞,可上传任意文件到网站根目录下,从而使攻击者可以轻易的获取网站的webshell权限,对网站进行篡改与攻击,目前该网站漏洞影响范围是Metinfo 6.2.0最新版本,以及以前的所有Metinfo版本都可以利用,关于该Metinfo漏洞的详情我们来详细的分析:
3_1_
首先该网站漏洞的利用前提是windows系统,PHP语言的版本是小于5.3,相当于旧的服务器都会按照这个环境来配置网站,我们来看下出现漏洞的代码,Metinfo在上传方面写了一个专门的上传功能,非常的强大,使用doupfile进行上传,我们来看下代码,如下图所示:
1_1_
我们从上面的代码中可以看出上传文件有一些模式,还有变量的信息,info这个变量是可以控制的,我们看下upfile跟upload调用的方法是什么作用,追踪分析代码发现这个是用来存储上传文件的路径信息的,这2个变量值会直接将上传的路径给改变,这也是该漏洞产生的原因,我们接着继续分析代码的漏洞,Metinfo在使用doupfile上传的时候回对上传的文件名进行安全过滤,基本的一些脚本文件都已经过滤掉了,只能上传一些图片格式的文件,使用白名单安全机制对上传进行了严格的安全限制。
2_1_
看来通过改变上传文件的格式是没有办法绕过上传,我们继续分析代码,上传文件的路径这里可以进行目录的更改,发现代码有编码的转化功能,如果路径里含有./那么就会使用iconv函数对其进行路径的转换,网站的漏洞也出在这里,根源就是这里,我们可以绕过转换,对其进行字符的截断,低于php5.3版本的都存在这个漏洞,构造代码如下:抓包截取上传的数据包,将savepath=a.php%80..1.jpg 然后直接post数据到http://Metinfo/admin/index.php为什么要直接post到网站后台的地址呢?是因为后台的index.php被Metinfo官方加入到白名单里,可以直接绕过sqlinsert函数的过滤,直接上传webshell到网站中,在实际的漏洞测试过程中,并不需要登录后台,直接post该地址即可,如果不知道数据包是如何写的,可以自己本地搭建一个Metinfo的环境,然后登录后台,截取数据包,再修改数据库的网站地址,进行漏洞测试。
5
网站漏洞修复办法与详情

目前官方并没有对此漏洞进行修补,建议程序员对php的版本进行升级到5.3以上,或者切换服务器到linux系统,对上传目录uoload进行无PHP脚本运行权限,或者对网站目录进行安全加固防止PHP的文件的创建与生成。如果您对代码不是太熟悉的话,可以付费找专业的网站安全公司来处理,国内也就SINE安全,绿盟,启明星辰比较专业一些,关于Metinfo漏洞的修复以及加固办法,就写到这里,希望广大的网站运营者正视起网站的安全。

相关文章
|
云安全 安全
第二届WEBSHELL伏魔挑战赛开启报名
舞台已备好,等你来战!
1476 0
第二届WEBSHELL伏魔挑战赛开启报名
|
安全 网络安全
Metasploit Pro 4.20.0安装与使用
Metasploit Pro 4.20.0安装与使用
1201 0
Metasploit Pro 4.20.0安装与使用
|
9月前
|
JSON API 数据格式
微信域名检测接口对接文档
该API用于检测指定URL是否被微信拦截,通过GET请求传入API Key和待测链接,返回JSON格式结果,包含状态码及信息,如-202(未拦截)、0(已拦截)等,便于开发者快速判断网页在微信中的访问状态。
|
安全 Shell Linux
Webshell管理工具:AntSword(中国蚁剑)
中国蚁剑的下载、安装、详细使用步骤
17349 1
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
710 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
|
安全 测试技术 网络安全
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
967 11
Cobalt Strike 4.10 for Windows - 对手模拟和红队行动
|
Java 关系型数据库 MySQL
MySQL 分库分表方案
本文总结了数据库分库分表的相关概念和实践,针对单张表数据量过大及增长迅速的问题,介绍了垂直和水平切分的方式及其适用场景。文章分析了分库分表后可能面临的事务支持、多库结果集合并、跨库join等问题,并列举了几种常见的开源分库分表中间件。最后强调了不建议水平分库分表的原因,帮助读者在规划时规避潜在问题。
1304 20
|
SQL 数据库
在mybatis-plus怎么使用自定义的sql语句
在mybatis-plus怎么使用自定义的sql语句
1552 0
|
Java Windows
windows系统bat批处理 一键配置java jdk环境变量
windows系统bat批处理 一键配置java jdk环境变量
739 4
|
SQL 安全 Java
JAVA代码审计SAST工具使用与漏洞特征
JAVA代码审计SAST工具使用与漏洞特征
1275 3