php.ini 米拓_MetInfo(米拓) v5.1.3任意文件上传漏洞分析附利用EXP | CN-SEC 中文网
摘要
MetInfo 23号发布了新版本5.1.5,修补了本文提到的漏洞,当然严格来说应该是任意变量覆盖漏洞….
ps:欢迎各种形式转载,首发t00ls.net
MetInfo 23号发布了新版本5.1.5,修补了本文提到的漏洞,当然严格来说应该是任意变量覆盖漏洞….
ps:欢迎各种形式转载,首发t00ls.net
废话不多说,看代码:
include/common.inc.php 20 - 39
[php]
$db_settings = parse_ini_file(ROOTPATH.'config/config_db.php');
@extract($db_settings);
require_once ROOTPATH.'include/mysql_class.php';
$db = new dbmysql();
$db->dbconn($con_db_host,$con_db_id,$con_db_pass,$con_db_name);
define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
isset($_REQUEST['GLOBALS']) && exit('Access Error');
require_once ROOTPATH.'include/global.func.php';
foreach(array('_COOKIE', '_POST', '_GET') as $_request) {
foreach($$_request as $_key => $_value) {
$_key{0} != '_' && $$_key = daddslashes($_value);
}
}
$query="select * from {$tablepre}config where name='met_tablename' and lang='metinfo'";
$mettable=$db->get_one($query);
$mettables=explode('|',$mettable[value]);
foreach($mettables as $key=>$val){
$tablename='met_'.$val;
$$tablename=$tablepre.$val;
}
[/php]
metinfo系统通过查询数据库的{$tablepre}config表,并将获取的结果通过foreach循环初始化表名变量,其中的
是通过代码
[php]$db_settings = parse_ini_file(ROOTPATH.'config/config_db.php');
@extract($db_settings);
[/php]
来初始化的,然后在系统中使用这样”SELECT * FROM $met_message where id=$id and lang=’$lang’”的SQL查询数据库,
其中的$met_message变量就是前面foreach循环初始化的变量……
我们可以覆盖$tablepre变量使表名初始化失败,进而提交表名变量…..
我找了个后台的上传页面,通过覆盖变量绕过后台验证并且覆盖允许上传后缀列表,构造上传漏洞。
exp:
[php]
[/php]
作者: my5t3ry
php.ini 米拓_MetInfo(米拓) v5.1.3任意文件上传漏洞分析附利用EXP | CN-SEC 中文网相关推荐
- php大文件上传php.ini配置
来源:http://xuqin.blog.51cto.com/5183168/909258 http://wenku.baidu.com/view/daa108687e21af45b307a8e3.h ...
- php.ini maxfileuploads,细说PHP高洛峰文件上传类源文件
以下是兄弟连php视频教程中高洛峰老师所教授的文件上传类的源代码,尚没有完全理解精髓,在这里记录一下,供日后有需要时查看: $value){ $key=strtolower($key); if(!in ...
- ThinkPHP V5.0.5漏洞_ThinkPHP漏洞分析与利用
一.组件介绍 1.1 基本信息 ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,遵循Apache 2开源协议发布,使用面向对象的开发结构和MVC模式,融合了Struts的思想和Ta ...
- .user.ini上传详解附CTF例题
.user.ini上传详解附CTF例题 题目 解法 https://buuoj.cn/challenges#[SUCTF%202019]CheckIn [SUCTF 2019]CheckIn 题目 解 ...
- PHP修改php.ini中关于文件上传大小的配置项
php.ini php.ini文件保存了php的一些重要属性,例如现在要说的文件上传的一些限制条件,关于php.ini,有一篇很好的介绍:php.ini文件详解,在Windows系统中编写php的时候 ...
- 第三十二天学习笔记-web漏洞-文件上传的条件竞争、.htaccess文件与.user.ini文件使用前提、二次渲染
目录 二次渲染原理 绕过方法 htaccess配置文件 .user.ini 二次渲染原理 在我们上传文件后,网站会对图片进行二次处理(格式.尺寸,保存,删除 要求等),服务器会把里面的内容进行替换更新 ...
- 文件上传 .htaccess 与.user.ini
1..htaccess 1使用方法,上传.htaccess文件内容如下 <FilesMatch "shell"> SetHandler application/x-ht ...
- Upload-labs Pass-05 .user.ini文件上传
0x01 .user.ini分析 原靶场环境更新,在04关后更新了一关,从05关以后,所有的关卡都是往后推了一关. 这一关和04传.htaccess文件相似,过滤了.htaccess没有过滤.user ...
- 拓网超大文件上传组件
javaweb上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1.通过form表单向后端发送请求 <form id=" ...
最新文章
- 0x14.基础数据结构 — hash表与字符串hash
- 以太坊知识教程------账户
- 蓝桥杯-题目:猜算式
- php中上传图片怎么显示出来,PHP上传图片类显示缩略图功能
- windows上配置nginx php,Windows下配置Nginx使之支持PHP
- 12个JavaScript技巧
- oracle分区表学习及应用
- vue 修改项目启动后的页面_vue项目打包后打开页面空白解决办法
- python3.7怎么安装tensorflow_gpu_(更新版)python3.7 Windows10 tensorflow-GPU 安装
- 新鲜角度看问题:从Python角度解析Selenium原理
- ERROR: libopenjp2 = 2.1.0 not found using pkg-config
- win7无线网络突然不能用了(或打开无线按钮灰色)
- JS简单的时间控件分享
- FPGA基础之HLS
- 副驾驶的意义_副驾驶位置有什么含义?
- Android系统编程入门系列之应用环境及开发环境介绍
- 从转载阿里开源项目 Egg.js 技术文档引发的“版权纠纷”,看宽松的 MIT 许可该如何用?
- Drawable转Bitmap,Bitmap#getPixel像素为0的解决办法
- Linux中的lvm动态扩容管理
- Iterator循环的用法