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

      漏洞公告 2005-9-26 5:9
受影响系统:
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(

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

      漏洞公告 2005-9-26 5:9
{logcontent}
标签集:TAGS:
回复Comments() 点击Count()
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
*>

测试方法:
--------------------------------------------------------------------------------

警 告

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

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

建议:
--------------------------------------------------------------------------------
厂商补丁:

PHP-Nuke

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}