一、 事件背景
phpMyAdmin 是一个以PHP为基础,以Web-Base方式架构在网站主机上的MySQL的数据库管理工具,让管理者可用Web接口管理MySQL数据库。借由此Web接口可以成为一个简易方式输入繁杂SQL语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。
近日,CVE(漏洞信息库)收录了一条关于phpmyadmin CSRF漏洞(CVE-2017-1000499),该漏洞对phpMyAdmin 4.7.x系列中4.7.7之前的所有版本造成影响,攻击者可以对MySQL数据库的记录数据等信息进行删除(dropping/truncatingtables)。
相关链接如下:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000499
二、 漏洞复现
通过phpstudy搭建实验环境,登录phpMyAdmin打开任意一个库中任意一个表的结构
当我们点击某一个列的DROP TABLE按钮时会发送一个post包,phpmyadmin会弹窗提示是否确定执行DROP TABLE命令
右键DROP TABLE按钮点击复制链接按钮,复制到浏览器中通过点击URL的方式发送这个POST请求,phpMyAdmin会没有任何的提示而直接执行DROP TABLE命令
此时再返回查看表结构会发现first_name列已经被成功删除
三、 漏洞分析及危害
1) 漏洞分析
phpMyAdmin的一个特性是在发送POST请求之后会发出一个GET请求,而这个GET请求会受到保护以防止CSRF攻击。但在这个漏洞中,可以通过直接点击URL链接的方式来发送一个POST请求来对数据库进行操作。
2) 漏洞危害
CSRF是2013版OWASP Top10的严重漏洞之一,此漏洞可导致远程攻击者构造特殊恶意链接按钮,欺骗管理员点击后操作数据库,但恶意链接中的信息(如库名、表名等)很难收集,这大大提高了攻击的成本,所以此漏洞的危害性并不是很高。
四、 数据分析
中国境内使用phpMyAdmin工具的用户数量约为2.2万台左右。其中排名前五的省份或地区分别为:浙江省、香港特别行政区、北京市、广东省、上海市。
1) 国内分布
下图为中国范围内使用phpMyAdmin工具的分布情况:
图1、国内分布图
下图为中国范围内使用phpMyAdmin工具数量排名前十的省份或地区:
图2、国内排名前十
下图为国内使用phpMyAdmin工具的运营商排名:
图3、国内运营商排名前十
五、 防范建议
1) 漏洞涉及版本
PhpMyAdmin 4.7.X中,4.7.7版本之前的所有版本。
2) 修复建议
请用户尽快升级至4.7.7版本或4.8版本以上,相关链接如下:
https://github.com/phpmyadmin/phpmyadmin/commit/edd929216ade9f7c150a262ba3db44db0fed0e1b
https://github.com/phpmyadmin/phpmyadmin/commit/72f109a99c82b14c07dcb19946ba9b76efc32a1b