一.环境配置

我采用的是Windows+phpstudy配置的运行环境,将phpMyAdmin4.8.1下载好解压到phpstudy网站根目录即可,这里需要注意的是php版本和Mysql的版本

配置好后,直接访问http://localhost/phpMyAdmin

登陆成功成功后你会遇到下图

解决方法:
修改phpMyAdmin/libraries文件下的config.default.php里面的$cfg['blowfish_secret']配置,随意修改保存即可,长度一定要达到要求。

二.漏洞复现

出bug的两处代码

1.phpMyAdmin/index.php的51-64行

根据这几行代码可知要将$_REQUEST[‘target’]所表示的文件包含进来target参数需要满足以下5个条件:
1.不为空
2.是一个字符串
3.不能以index开头
4.不能在 $target_blacklist数组里面(即不能为import.php,export.php)
5.满足Core类里面的checkPageValidity()函数检查
前四个可以轻松绕过,来看看第五个条件
2.phpMyAdmin\libraries\classes\Core.php的443-476行,checkPageValidity()函数

根据以上代码可知要使该函数返回True,必须满足以下三个条件中的一个:

  1. $page变量值在 $white_list数组中会返回True,以下是数组内容

2.经过mb_substr()和mb_strpos()处理的$page–>$_page的变量值在$_whitelist数组中
3.经过urldecode(),mb_substr(),mb_strpos()处理的$page–>$_page的变量值在$_whitelist数组中,这里值的分析的是$page是经过两次url解码再进行同2相同的函数处理,第一次由服务器自动解码了一次,然后再由urldecode()函数解码一次,所以在构造payload的时候‘?’应该url编码两次–>‘%253f’.
结合这两处代码,可以开始漏洞复现了。
两种漏洞利用方式
1.任意文件包含
任意文件包含通过目录穿越实现,现在我的D盘下有如下文件

,构造payload来包含该文件,http://localhost/phpMyAdmin-4.8.1/index.php?target=db_datadict.php%253f/../../../../../../../../../PC/PyCharm%202020.2/build.txt,成功包含进来

其他文件包含也是一样的,只需要给定绝对路径即可(不需要盘符).
2.任意代码执行
(1).包含数据库文件
先创建一个数据库用来写入要执行的代码

完成之后再将该文件包含进来,查看数据库路径

现在就可以构造payloadhttp://localhost/phpMyAdmin-4.8.1/index.php?target=db_datadict.php%253f/../../../../../../../../../phpStudy/Extensions/MySQL5.7.26/data/test/test.MYD,看到代码成功执行。

(2).包含session文件
先在phpMyAdmin界面执行SELECT "<?php phpinfo();?>"

找到了session文件的位置,将它包含进来,构造payloadhttp://localhost/phpMyAdmin-4.8.1/index.php?target=db_datadict.php%253f/../../../../../../../../../phpStudy/Extensions/tmp/tmp/sess_iidu2gfjp0kgsc8b1307ff6utsfcmbon,代码执行成功。

三.漏洞利用

这里漏洞利用是HCTF-2018的一道web赛题–Warmup,打开之后是一个滑稽笑脸,F12查看源码,

发现source.php这个提示,直接访问它,得到以下代码

这一看就是代码审计,又发现代码里面有hint.php访问看看

这里提示flag不在这里,在ffffllllaaaagggg里面,再结合代码和刚才上面讲的phpMyAdmin漏洞 任意文件包含,可以构造出payloadhttp://1b624b4a-7c5e-4c42-b035-b65f165e5827.node3.buuoj.cn/source.php?file=source.php%253f/../../../../../ffffllllaaaagggg,成功拿到Flag。

phpMyAdmin4.8.1漏洞复现及利用相关推荐

  1. ms08_067,ms10_046漏洞复现与利用

    ms08_067,ms10_046漏洞复现与利用 一:ms08_067 主机扫描 通过nessus扫描网段内存活的主机,发现192.168.206.142该靶机并且时xp而且开启了445端口,考虑使用 ...

  2. Apache HTTP Server 2.4.49 路径穿越漏洞复现及利用

    漏洞介绍 Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器.在其2.4.49版本中,引入了一个路径穿越漏洞,满足下面两个条件的Apache服务器将会受到影响: 版 ...

  3. 【漏洞复现】泛微OA E-Cology V9 browser.jsp SQL注入漏洞复现及利用(CNVD-2023-12632)

    文章目录 前言 声明 一.产品介绍 二.漏洞描述 三.影响范围 四.漏洞分析 五.漏洞复现 六.SQLMAP漏洞利用 七.修复方案 前言 泛微E-Cology v9 Browser.jsp 存在SQL ...

  4. Apache Fink 文件上传漏洞复现及利用

    Apache Fink 文件上传漏洞复现 打开vulhub靶场,输入命令 cd flink/CVE-2020-17519 sudo docker-compose up -d sudo docker-c ...

  5. Redis未授权访问漏洞复现与利用

    1.漏洞介绍 Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果 ...

  6. yii反序列化漏洞复现及利用

    yii反序列化漏洞 Yii框架 Yii 是一个适用于开发 Web2.0 应用程序的高性能PHP 框架. Yii 是一个通用的 Web 编程框架,即可以用于开发各种用 PHP 构建的 Web 应用. 因 ...

  7. Double free 漏洞复现与利用

    2018体系结构安全大作业 申明:转载请注明出处 选题:2015 年 0ctf 题 题目描述:提供记事本功能的二进制文件,找出其漏洞,get shell 第一章 操作说明 为方便老师审核作业,本报告将 ...

  8. 漏洞复现篇——利用XSS漏洞实现多种网络钓鱼方法

    实验环境: PHPstudy 火狐浏览器 DVWA靶场 模拟实验: 重定向钓鱼 把当前页面重定向到一个钓鱼页面,例如重定向到百度,代码如下: <script>document.locati ...

  9. 漏洞复现篇——利用XSS漏洞实现键盘记录

    实验环境: PHPstudy 火狐浏览器.IE DVWA靶场 实验准备: 在www目录下创建一个名为keylog.php的文件,代码如下: <?php $file = fopen("k ...

  10. [系统安全] 九.Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

最新文章

  1. [转载] sql server 2000系统表解释
  2. 朴素贝叶斯(NBM,Naive Bayesian Model)为什么朴素又有哪些形式?
  3. 设计模式-2-代理模式
  4. c语言程序怎么颠倒数据,急求如何将下列C语言程序数据存储到文件中?
  5. 简述python程序执行原理_Python程序的执行原理(1)
  6. 汽车穿越沙漠的算法问题(反推法)
  7. c++正则表达式_Python正则表达式教程-常用文本处理技巧
  8. videojs默认显示controls 按钮功能失效_一文看懂Yearning SQL审核平台功能模块设计...
  9. 生产者消费者代码c语言_由生产者消费者模型引出的线程同步问题
  10. 华为鸿蒙手机开机动画,华为“鸿蒙”来了!开机动画美炸了,用PPT一分钟就搞定...
  11. HDU 4990 Reading comprehension
  12. python拆分大文件(大文件分割)
  13. note 8 字符串
  14. uniApp App端跳转到深色页面闪白记录及优化处理方法
  15. dubbo-admin的下载与安装
  16. 12.寻光集后台管理系统-库存信息(后端)
  17. 柏林水厂资产管理RFID跟踪管理系统应用
  18. 2019公共课的【考研平均分】和难度系数公布!
  19. c语言strcpy两字符串长度不同,(C语言)自己写字符串操作函数(一)——strlen/strcpy/strcat/strcmp/st...
  20. bzoj 3811: 玛里苟斯【线性基+期望dp】

热门文章

  1. 单片机基础教程那么多,什么样才是靠谱的学习方式
  2. 计算机技术专硕学制两年的学校,专硕一般读几年
  3. idea remote debug
  4. FeedDemon不能同步google reader的问题
  5. Web.config配置文件详解(转载)
  6. Spring的Orderd接口以及@Order、@Primary、@Priority三个注解介绍
  7. linux查网卡物理地址,网卡MAC地址查询方法
  8. 如何批量保存苏宁易购里的商品图片
  9. 新浪微博维护工具 推兔刷积分
  10. 2014.3 USACO月赛T1 Watering the Fields