当前位置: 当前位置:首页 > 时尚 > metinfo漏洞正文

metinfo漏洞

作者:娱乐 来源:知识 浏览: 【大 中 小】 发布时间:2026-10-17 06:10:25 评论数:
MetInfo的SQL注入漏洞,在圈子里早就不新鲜了。但真正让我印象深刻的,是去年某次渗透测试——目标站用的是MetInfo 7.0,后台密码被改了三次,管理员愣是没发现异常。我随手在搜索框输入`' and 1=1-- -`,页面正常返回。换成`' and 1=2-- -`,直接空白。就这么简单,一个连新手都能看出来的注入点,居然挂在公网上跑了两年多。 问题出在`/include/inc_function.php`这个文件。开发者对`$_GET`和`$_POST`的过滤,用的是`addslashes()`加正则替换。听着挺安全对吧?但MetInfo有个老毛病——它会在某些参数上做二次解码。比如你提交`%2527`,服务器先URL解码一次变成`%27`,接着addslashes处理完,框架内部又对某些字段做urldecode,这时候单引号就逃逸出来了。这套逻辑在7.x版本里反复出现,官方修了又漏,漏了再修,像打地鼠一样。 更离谱的是后台的`uploadify`上传接口。默认配置下,它只检查文件后缀名,不校验文件头。你传个`shell.php.jpg`,系统会先存到临时目录,然后通过`phpinfo()`探针功能触发解析。别笑,真有这么蠢的漏洞——MetInfo的`/admin/upload/uploadify.php`文件里,`$fileType`变量是从前端传过来的,直接拼进`move_uploaded_file()`的目标路径。攻击者把`fileType`改成`php`,就能把图片马存成PHP文件。 我见过最讽刺的案例是某政府网站,用的MetInfo 6.1,整整五年没更新。后台登录页还挂着"Powered by MetInfo"的版权信息,等于在门口贴了张纸条:来打我呀。用`/index.php?lang=cn&admin=login`试了下弱口令,admin/admin888,直接进去。后台的"数据库备份"功能可以自定义文件名,备份完的SQL文件放在`/databack/`目录下,文件名可控。你猜怎么着?写个PHP代码当备份内容,文件名改成`shell.php`,访问一下就能拿到webshell。 MetInfo的漏洞本质不是技术多高深,而是开发团队对安全的理解停留在十年前。他们爱用`foreach`循环遍历`$_REQUEST`做过滤,但忘了数组的键名也能注入。比如`?config[db_host]=127.0.0.1`这种参数,如果写进SQL语句的`SELECT`字段,就能改变查询逻辑。官方论坛里有人报漏洞,管理员回复永远是"请升级到最新版",可新版本三个月后又被打穿。 说句难听的,MetInfo这套代码,从2010年到现在,核心架构就没变过。它像一栋老房子,每修一次漏洞就在墙上补块砖,但承重墙早就被白蚁蛀空了。真正的高手不会去挖0day,直接扫`/include/`目录下的文件,挨个看有没有`include $_GET['path']`这种写法,一抓一个准。你要是运维MetInfo站,别指望官方补丁了,要么换系统,要么自己写WAF规则拦截`union select`和`eval`关键字。就这,还得祈祷别碰到那种会绕编码的老油条。