安全研究

安全漏洞
e107 usersettings.php SQL注入漏洞

发布日期:2009-04-20
更新日期:2009-04-21

受影响系统:
e107.org e107 website system <= 0.7.15
描述:
BUGTRAQ  ID: 34614

e107是用php编写的内容管理系统。

e107的usersettings.php脚本没有正确地过滤对hide[]密钥所传送的输入,如果magic_quotes_gpc = off的话远程攻击者就可以通过提交恶意请求执行SQL注入攻击。以下是usersettings.php中的有漏洞代码段:

433 - 441行:

if($ue_fields) {
    $hidden_fields = implode("^", array_keys($_POST['hide'])); <------ {1}
    
     if($hidden_fields != "")
     {
     $hidden_fields = "^".$hidden_fields."^";  
     }
     $ue_fields .= ", user_hidden_fields = '".$hidden_fields."'"; <---- {2}
   }

470 - 476行:
  
  if($ue_fields)
  {
    [etc..]
    $sql->db_Update("user_extended", $ue_fields." WHERE user_extended_id = '".intval($inp)."'");
  }  
  
ue[] POST变量需要有效的密钥,如aim、msn或其他user_extended_fields(@fields数组)。

<*来源:Juri Gianni (staker@hotmail.it
  
  链接:http://secunia.com/advisories/34823/
*>

测试方法:

警 告

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

http://www.milw0rm.com/exploits/8495

建议:
厂商补丁:

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

http://e107.org/

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