原文地址:https://mp.weixin.qq.com/s/HZcS2HdUtqz10jUEN57aog

早上看到群里在讨论一个新姿势,phpmyadmin后台getshell,不同于以往需要知道网站的绝对路径,这个漏洞只要数据库和网站源码在同一个盘符下即可直接getshell。

漏洞详情请看原文地址,这里只进行复现。

打开自己的phpstudy,发现自己下载的是4.0.10.20版本的,先查看phpmyadmin目录下的index.php文件,发现代码如下:

这里是基于白名单的机制,target参数只能存在$goto_whitelist数组中,具体内容如下:

由这两处代码可以判断phpmyadmin 4.0.10.20版本的不存在该漏洞。

我们继续下载phpmyadmin 4.8.1版本的进行测试。index.php代码如下:

由上图红框处可知这里是基于黑名单机制进行判断,只要target参数的值不是"import.php"和"export.php"即可进行下一步判断。

checkPageValidity函数的代码如下:

需要注意的是,$_GET、$_POST、$_REQUEST等获得的参数都是默认进行一次url解码的,但是这里对传入的参数又进行了一次url解码。

因此我们可以将【?】进行两次url编码,构造如下url:

http://localhost/phpMyAdmin/index.php?kk=phpinfo();&target=db_sql.php%253F/../../../MySQL/data/test/hack.frm

checkPageValidity函数对传入的target参数进行判断,target参数的值开始到【?】的文件需要在白名单whitelist内。

判断成立后在index.php文件中便直接使用inclde函数进行文件包含,由此我们利用两次url编码的方法便绕过了检测。

这里可以利用包含MySQL自带的配置文件my.ini来判断当前路径。

找出MySQL文件的路径后,即可利用创建表的方式写入webshell,再利用这个漏洞进行包含,即可getshell。

创建表之后查看数据库文件,成功写入。

利用该漏洞包含给文件,成功getshell。

注意☆☆☆:这里写入的一句话需要用GET方式,POST方式尝试过无法成功,至于如何getshell(大马),可以参考我的上一篇文章。

https://www.cnblogs.com/fox-yu/p/9134848.html
笨鸟先飞早入林,笨人勤学早成材。

转载请注明出处:
撰写人:fox-yu http://www.cnblogs.com/fox-yu/

【漏洞复现】PHPmyadmin 4.8.1后台Getshell新姿势的更多相关文章

  1. mysql sql注入getshell新姿势

     sql.php?sql=1'报错信息为:1064:You have an error in your SQL syntax; check the manual that corresponds to ...

  2. 漏洞:阿里云盾phpMyAdmin <=4.8.1 后台checkPageValidity函数缺陷可导致GETSHELL

    阿里云盾提示phpMyAdmin <=4.8.1会出现漏洞有被SHELL风险,具体漏洞提醒: 标题 phpMyAdmin <=4.8.1 后台checkPageValidity函数缺陷可导 ...

  3. [漏洞复现] [Vulhub靶机] Tomcat7+ 弱口令 && 后台getshell漏洞

    免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 war文件 0x01 漏洞介绍 影响范围:Tomcat 8.0版本 漏洞类型:弱口令 漏洞成因:在tomc ...

  4. 16.Tomcat弱口令 && 后台getshell漏洞

    Tomcat7+ 弱口令 && 后台getshell漏洞 Tomcat版本:8.0 环境说明 Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下.其中, ...

  5. DedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221)

    dedeCMS  V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221) 一.漏洞描述 织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统.Dedecms V5.7 SP2 ...

  6. Typecho反序列化导致前台 getshell 漏洞复现

    Typecho反序列化导致前台 getshell 漏洞复现 漏洞描述: Typecho是一款快速建博客的程序,外观简洁,应用广泛.这次的漏洞通过install.php安装程序页面的反序列化函数,造成了 ...

  7. WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现

    WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...

  8. 帝国CMS(EmpireCMS) v7.5后台getshell分析(CVE-2018-18086)

    帝国CMS(EmpireCMS) v7.5后台getshell分析(CVE-2018-18086) 一.漏洞描述 EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过 ...

  9. 最新通达OA-getshell 漏洞复现

    0x00 通达简介 通达OA国内常用的办公系统,使用群体,大小公司都可以,其此次安全更新修复的高危漏洞为任意用户登录漏洞.攻击者在远程且未经授权的情况下,通过利用此漏洞,可以直接以任意用户身份登录到系 ...

随机推荐

  1. 解决Oracle12cr2自创建用户无法登录的问题

    说明: 下面创建是创建CDB本地用户,不是PDB应用程序用户,如果是PDB应用程序创建语法会不一样.下面介绍创建CDB本地用户. 创建表空空间 CREATE TABLESPACE YH datafil ...

  2. 如何成为一位合格的ScrumMaster

    嗨,大家好,我是叶子 ScrumMaster的职责简单理解为:确保团队按照scrum的方式运行,团队的教练,帮助团队更好的工作,过程中的执行者,能够在team和po之间平衡.移除项目进度的障碍,保护团 ...

  3. Android开发值利用Intent进行put传值,setclass启动activity,并用get进行取值

    传值方法一 [java] Intent intent = new Intent(); Bundle bundle = new Bundle(); //该类用作携带数据 bundle.putString ...

  4. Kubernetes v1.12/v1.13 二进制部署集群(HTTPS+RBAC)

    官方提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环 ...

  5. 为什么互联网巨头们纷纷使用Git而放弃SVN?(内含Git核心命令与原理总结)

    写在前面 最近发现很多小伙伴对于工作中的一些基本工具的使用还不是很了解,比如:Git这个分布式的代码管理仓库,很多小伙伴就不是很了解,或者说不是很熟悉.甚至有些小伙伴都没听说过Git,就只会用个SVN ...

  6. 一条 SQL 引发的事故,同事直接被开除!!

    前言 Insert into select请慎用. 这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份.本想通过程序先查询查出来然后批量插入.但xxx觉得这样有点慢,需要耗费大量的网络I ...

  7. 必考算法之 Top K 问题

    大家好,这里是<齐姐聊算法>系列之 Top K 问题. Top K 问题是面试中非常常考的算法题. 8 Leetcode 上这两题大同小异,这里以第一题为例. 题意: 给一组词,统计出现频 ...

  8. Docker网络(五)

    本章内容 1.dokcer默认自带的几种网络介绍 2. 自定义网络 3. 容器间通信 4. 容器与外界交互 docker网络分为单个主机上的容器网络和多个主机上的哇网络,本文主要讲解单个主机上的容器网 ...

  9. vue2.5开发去哪儿了流程

    初始化项目 在 src/assets 中添加样式初始化文件 reset.css ; border.css 本地引入取消延迟300毫秒的控件 cnpm i fastclick -S 在mian.js中引 ...

  10. linux之磁盘整理

    yum安装的时候报错没有磁盘空间,需要整理 就需要查看下目前的磁盘使用情况 首先是df -hl查看从磁盘使用 可以到根目录下看看文件夹大小 du -sh * 或者下面的命令 接下来我们要删除东西整理磁 ...