文档章节

网站漏洞修复公司 网站修复与安全加固

 网站安全
发布于 07/12 20:53
字数 988
阅读 37
收藏 0

Metinfo CMS系统被爆出网站存在漏洞,可上传任意文件到网站根目录下,从而使攻击者可以轻易的获取网站的webshell权限,对网站进行篡改与攻击,目前该网站漏洞影响范围是Metinfo 6.2.0最新版本,以及以前的所有Metinfo版本都可以利用,关于该Metinfo漏洞的详情我们来详细的分析:

首先该网站漏洞的利用前提是windows系统,PHP语言的版本是小于5.3,相当于旧的服务器都会按照这个环境来配置网站,我们来看下出现漏洞的代码,Metinfo在上传方面写了一个专门的上传功能,非常的强大,使用doupfile进行上传,我们来看下代码,如下图所示:

我们从上面的代码中可以看出上传文件有一些模式,还有变量的信息,info这个变量是可以控制的,我们看下upfile跟upload调用的方法是什么作用,追踪分析代码发现这个是用来存储上传文件的路径信息的,这2个变量值会直接将上传的路径给改变,这也是该漏洞产生的原因,我们接着继续分析代码的漏洞,Metinfo在使用doupfile上传的时候回对上传的文件名进行安全过滤,基本的一些脚本文件都已经过滤掉了,只能上传一些图片格式的文件,使用白名单安全机制对上传进行了严格的安全限制。

看来通过改变上传文件的格式是没有办法绕过上传,我们继续分析代码,上传文件的路径这里可以进行目录的更改,发现代码有编码的转化功能,如果路径里含有./那么就会使用iconv函数对其进行路径的转换,网站的漏洞也出在这里,根源就是这里,我们可以绕过转换,对其进行字符的截断,低于php5.3版本的都存在这个漏洞,构造代码如下:抓包截取上传的数据包,将savepath=a.php%80\..\1.jpg 然后直接post数据到http://Metinfo/admin/index.php为什么要直接post到网站后台的地址呢?是因为后台的index.php被Metinfo官方加入到白名单里,可以直接绕过sqlinsert函数的过滤,直接上传webshell到网站中,在实际的漏洞测试过程中,并不需要登录后台,直接post该地址即可,如果不知道数据包是如何写的,可以自己本地搭建一个Metinfo的环境,然后登录后台,截取数据包,再修改数据库的网站地址,进行漏洞测试。

网站漏洞修复办法与详情

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

© 著作权归作者所有

粉丝 5
博文 122
码字总数 142576
作品 0
青岛
私信 提问
dedecms织梦首页被篡改 网站被黑被跳转的解决办法建议

2018年的中秋节即将来临,我们Sine安全公司,最近接到很多用dedecms程序的企业公司网站客户的反馈,说是公司网站经常被篡改,包括网站首页的标题内容以及描述内容,都被改成了什么北京赛车,北...

网站安全
2018/09/10
0
0
phpcms网站漏洞如何修复对远程代码写入缓存漏洞利用

SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客的攻击...

网站安全
2018/12/03
0
0
struts2架构网站漏洞修复详情与利用漏洞修复方案

struts2从开发出来到现在,很多互联网企业,公司,平台都在使用apache struts2系统来开发网站,以及应用系统,这几年来因为使用较多,被攻击者挖掘出来的struts2漏洞也越来越,从最一开始S2-...

网站安全
2018/12/03
0
0
网站提示“该内容被禁止访问”该怎么处理

很多客户的网站被拦截并提示:“该内容被禁止访问”,大多数客户使用的都是阿里云的虚拟主机以及ECS服务器,最近发生这种问题的网站也越来越多,这几天刚解决完一个客户网站被阿里云:违规U...

网站安全
04/12
0
0
网站安全防护加固discuz漏洞修复方案

近期我们SINE安全在对discuz x3.4进行全面的网站渗透测试的时候,发现discuz多国语言版存在远程代码执行漏洞,该漏洞可导致论坛被直接上传webshell,直接远程获取管理员权限,linux服务器可以...

网站安全
07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

php 遇到 No input file specified的解决方法

(一)IIS Noinput file specified 方法一:改PHP.ini中的doc_root行,打开ini文件注释掉此行,然后重启IIS 方法二: 请修改php.ini 找到 ; cgi.force_redirect = 1 去掉前面分号,把后面的1...

chenhongjiang
今天
6
0
MySQL 基础

一、常用命令 在命令行中,配置好环境变量后,通过cmd可以直接进入mysql命令行模式,同时列举几种常用命令 # 进入mysql数据库,密码可以先不写,打完-p后再输入,防止被别人看到mysql -u账...

华山猛男
今天
6
0
简单的博客系统(四)Django请求HTML页面视图信息--基于函数的视图

1. 编写用于查询数据的功能函数 应用目录 下的 views.py 文件通常用于保存响应各种请求的函数或类 from django.shortcuts import renderfrom .models import BlogArticles# Create your ...

ZeroBit
今天
5
0
用脚本将本地照片库批量导入到Day One中

因为目前iCloud 空间已经不足,其中95%都是照片,之前入手了DayOne,且空间没有限制,订阅费一年也不少,再加上DayOne作为一款日记App 也比较有名,功能方面最大的就是地理视图与照片视图,尤...

在山的那边
昨天
23
0
jupyter部署安装

python373 -m ipykernel install --name python373 ipython kernelspec list sc create myjupyterservice binpath="D:\apply\Python373\Scripts\jupyter-notebook --config=V:/my_work/jupyt......

mbzhong
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部