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数组)。
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数组)。