安全研究

安全漏洞
XOOPS任意文件删除和HTTP头注入漏洞

发布日期:2010-01-19
更新日期:2010-01-20

受影响系统:
Xoops Xoops 2.4.3
描述:
BUGTRAQ  ID: 37860

Xoops是非常流行的动态web内容管理系统,用面向对象的PHP编写。

Xoops使用了unlink函数来删除Web服务器中的文件。由于对用户输入使用了这个函数:

        unlink($oldsmile_path);

尽管使用了str_replace等过滤功能:

        $oldsmile_path = str_replace("\\", "/", \
realpath(XOOPS_UPLOAD_PATH.'/'.trim($_POST['old_smile'])));

这种过滤仍不够强壮,用户可以通过提交恶意请求删除指定的文件。

Xoops没有执行任何过滤或限制便使用了用户输入中的$redirect变量:

        $redirect = trim($_GET['xoops_redirect']);
以及:
        header('Location: ' . $redirect);

用户可以在请求头中注入恶意代码,之后再次访问页面时就会执行注入的代码。

<*来源:CodeScan Labs (advisories@codescan.com
  
  链接:http://marc.info/?l=bugtraq&m=126392239411722&w=2
*>

建议:
厂商补丁:

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

http://xoops.sourceforge.net/

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