【漏洞复现】PHPmyadmin 4.8.1后台Getshell新姿势
原文地址: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新姿势的更多相关文章
- mysql sql注入getshell新姿势
sql.php?sql=1'报错信息为:1064:You have an error in your SQL syntax; check the manual that corresponds to ...
- 漏洞:阿里云盾phpMyAdmin <=4.8.1 后台checkPageValidity函数缺陷可导致GETSHELL
阿里云盾提示phpMyAdmin <=4.8.1会出现漏洞有被SHELL风险,具体漏洞提醒: 标题 phpMyAdmin <=4.8.1 后台checkPageValidity函数缺陷可导 ...
- [漏洞复现] [Vulhub靶机] Tomcat7+ 弱口令 && 后台getshell漏洞
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 war文件 0x01 漏洞介绍 影响范围:Tomcat 8.0版本 漏洞类型:弱口令 漏洞成因:在tomc ...
- 16.Tomcat弱口令 && 后台getshell漏洞
Tomcat7+ 弱口令 && 后台getshell漏洞 Tomcat版本:8.0 环境说明 Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下.其中, ...
- DedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221)
dedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221) 一.漏洞描述 织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统.Dedecms V5.7 SP2 ...
- Typecho反序列化导致前台 getshell 漏洞复现
Typecho反序列化导致前台 getshell 漏洞复现 漏洞描述: Typecho是一款快速建博客的程序,外观简洁,应用广泛.这次的漏洞通过install.php安装程序页面的反序列化函数,造成了 ...
- WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现
WebLogic 任意文件上传远程代码执行_CVE-2018-2894漏洞复现 一.漏洞描述 Weblogic管理端未授权的两个页面存在任意上传getshell漏洞,可直接获取权限.Oracle 7月 ...
- 帝国CMS(EmpireCMS) v7.5后台getshell分析(CVE-2018-18086)
帝国CMS(EmpireCMS) v7.5后台getshell分析(CVE-2018-18086) 一.漏洞描述 EmpireCMS 7.5版本及之前版本在后台备份数据库时,未对数据库表名做验证,通过 ...
- 最新通达OA-getshell 漏洞复现
0x00 通达简介 通达OA国内常用的办公系统,使用群体,大小公司都可以,其此次安全更新修复的高危漏洞为任意用户登录漏洞.攻击者在远程且未经授权的情况下,通过利用此漏洞,可以直接以任意用户身份登录到系 ...
随机推荐
- 复制一个Python全部环境到另一个环境
导出此环境下安装的包的版本信息清单 pip freeze > requirements.txt 联网,下载清单中的包到all-packet文件夹 [root@localhost ~]# p ...
- jQuery入口函数与JavaScript入口函数的区别
jQuery 的入口函数是在 html 所有标签 (DOM) 都加载之后就会去执行 JavaScript 的 window.onload 时间是等到所有内容,包括外部图片之类的文件加载完成 ...
- MyBatis-Plus分页——PageHelper和IPage介绍
两个都用于分页,常用的应该是PageHelper了,理解了一下源码后发现IPage比PageHelper好用. 使用方法是 PageHelper.startPage()然后后边写sql就可以. 紧接着 ...
- Sender(agumaster_crawler)->RabbitMq->Reciever(agumaster)
发送方: package com.heyang.agumasterCrawler; import java.util.List; import org.springframework.beans.fa ...
- Explain Plan试分析
注:以下是本人对Explain Plan的试分析,有不对的地方希望大家指出.关于如何查看Oracle的解释计划请参考:https://www.cnblogs.com/xiandedanteng/p/1 ...
- 重学Ajax
什么是Ajax Asynchronous JavaScript and xml 异步的JavaScript和XML 只是一种js的应用,在无需重新加载整个网页的情况下实现部分网页的数据更新的技术.减少 ...
- leetcode刷题-73矩阵置零
题目 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1]]输出: ...
- 详细教程丨使用Prometheus和Thanos进行高可用K8S监控
本文转自Rancher Labs 介 绍 Prometheus高可用的必要性 在过去的几年里,Kubernetes的采用量增长了数倍.很明显,Kubernetes是容器编排的不二选择.与此同时,Pro ...
- 【NOIP2013模拟】太鼓达人
题目描述 七夕祭上,Vani牵着cl的手,在明亮的灯光和欢乐的气氛中愉快地穿行.这时,在前面忽然出现了一台太鼓达人机台,而在机台前坐着的是刚刚被精英队伍成员XLk.Poet_shy和lydrainbo ...
- 什么是Lambda架构
一.Lambda架构需求 Lambda架构背后的需求是由于MR架构的延迟问题.MR虽然实现了分布式.可扩展数据处理系统的目的,但是在处理数据时延迟比较严重.实际上如果内存和CPU足够强大,MR也可以实 ...