phpMyAdmin本地文件包含漏洞

0x00 漏洞概述

  • 受此漏洞影响的版本: phpMyAdmin 4.0.1 -- 4.2.12

  • phpMyAdmin是一个web端通用MySQL管理工具,上述版本在/libraries/gis/pma_gis_factory.php文件里的存在任意文件包含漏洞,恶意访问者利用此漏洞可以获取数据库中敏感信息,存在GETSHELL风险。

0x01 漏洞复现

  • 在网站根目录下放置 phpinfo.txt 文件,该文件内php代码可以打印出php详细版本等信息,可以用来测试任意文件包含,恶意访问者可以上传恶意其他类型文件,包含一句话文件等操作,来达到GETSEHLL的目的。
    其中测试用例 phpinfo.txt 文件的内容为

  • 打开实验环境中的phpMyAdmin登录页面,使用root账号登录,如下图所示:

phpMyAdmin本地文件包含漏洞_第1张图片
1.PNG
  • 点击firefox中的hackbar工具(隐藏时按F9),点击Load Url,可以看到生成了一个包含token的字符串:
phpMyAdmin本地文件包含漏洞_第2张图片
2.PNG
  • 复制该token值,在hackbar栏目中输入:http://localhost/gis_data_editor.php?token=(上面操作复制的内容粘贴进入这里)&gis_data[gis_type]=/../../../phpinfo.txt%00输入完毕后点击Execute提交即可,即可包含执行phpinfo.txt中的php代码, 如下图所示:说明漏洞利用成功。
phpMyAdmin本地文件包含漏洞_第3张图片
3.PNG

注意:这里的文件包含只能跨目录包含.php的文件,不能任意包含,服务器上的php文件一般不会对它感兴趣。不过当服务器的php版本满足php截断条件,那就可以任意文件包含,所以在地址栏输入的地址中有 %00,构造字符串截断,可以包含phpinfo.txt文件,当系统含有文件上传时,可以利用该漏洞上传隐藏小马的任意文件,达到getshell的目的。

0x02 漏洞修复

要修复该漏洞,只需将系统升级至最新版本就可以了!

你可能感兴趣的:(phpMyAdmin本地文件包含漏洞)