安全研究

安全漏洞
PHP-Fusion submit.php文件SQL注入漏洞

发布日期:2008-04-19
更新日期:2008-04-22

受影响系统:
PHP-Fusion PHP-Fusion 6.00.307
描述:
BUGTRAQ  ID: 28855
CVE(CAN) ID: CVE-2008-1918

PHP-Fusion是一款基于PHP的内容管理系统。

PHP-Fusion的submit.php文件没有正确地过滤对submit_info[]参数的输入便在SQL查询中使用,远程攻击者可能利用此漏洞执行SQL注入攻击。

相关代码:

1. if ($stype == "l") {                                                                          
2.                                                  
3.    if (isset($_POST['submit_link'])) {                              
4.
5.    if ($_POST['link_name'] != "" && $_POST['link_url'] != "" && $_POST['link_description'] != "") {
6.        $submit_info['link_category'] = stripinput($_POST['link_category']);
7.        $submit_info['link_name'] = stripinput($_POST['link_name']);
8.        $submit_info['link_url'] = stripinput($_POST['link_url']);
9.        $submit_info['link_description'] = stripinput($_POST['link_description']);
10.        $result = dbquery("INSERT INTO ".$db_prefix."submissions (submit_type, submit_user, submit_datestamp, submit_criteria) VALUES ('l', '".$userdata['user_id']."', '".time()."', '".serialize($submit_info)."')");    

sql查询中有两个变量:$userdata['user_id']和序列化数组$submit_info。如果通过gpc变量设置了submit_info[]数组中值的话,就会未经stripinput检查在序列化数组中使用,导致Sql注入攻击。    

成功攻击允许攻击者检索管理员口令哈希,但要求有效的用户凭据、知道数据库表格前缀,且禁用了magic_quotes_gpc。

<*来源:The:Paradox
  
  链接:http://secunia.com/advisories/29930/
*>

测试方法:

警 告

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

http://milw0rm.com/exploits/5470

建议:
厂商补丁:

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

http://sourceforge.net/projects/php-fusion/

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