首页 -> 安全研究

安全研究

安全漏洞
PHP-Nuke多个远程SQL注入漏洞

发布日期:2005-09-13
更新日期:2005-09-13

受影响系统:
PHP-Nuke PHP-Nuke <= 7.8
描述:
PHP-Nuke是一个广为流行的网站创建和管理工具,它可以使用很多数据库软件作为后端,比如MySQL、PostgreSQL、mSQL、Interbase、Sybase等。

PHP Nuke 7.8中存在多个SQL注入漏洞,起因是没有正确地过滤用户输入。

在modules.php中:

$result = $db->sql_query("SELECT active, view FROM ".$prefix."_modules WHERE title='$name'");

没有检查$name变量,因此攻击者可以注入恶意的SQL代码。在包含的文件中有以下代码:

$queryString = strtolower($_SERVER['QUERY_STRING']);
if (stripos_clone($queryString,'%20union%20') OR stripos_clone($queryString,'/*') OR stripos_clone($queryString,'*/union/*') OR stripos_clone($queryString,'c2nyaxb0')) { header("Location: index.php");  die();
}

[...]

if (!ini_get("register_globals")) {
       import_request_variables('GPC');
}

因此攻击者可以使用GET变量中的UNION。由于使用了register_globals或impor_request_variables,因此可以通过POST发送恶意的SQL代码。

<*来源:r.verton (r.verton@gmail.com
  
  链接:http://marc.theaimsgroup.com/?l=bugtraq&m=112655668302522&w=2
*>

测试方法:

警 告

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

http://www.example.com/modules.php POST: name=' OR 1=1/*
http://www.example.com/modules.php POST: name=' OR 1=2/*
http://www.example.com/modules.php?name=News&file=article&sid=[SQL]
http://www.example.com/modules.php?name=News&file=comments&Reply&pid=[SQL]
http://www.example.com/modules.php?name=News&file=comments&op=Reply&pid=[SQL]
http://www.example.com/modules.php?name=News&file=comments&op=Reply&sid=[SQL]

建议:
厂商补丁:

PHP-Nuke
--------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://phpnuke.org/

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