Página 1 de 1

Fallo de seguridad phpBB 2.0.6

Publicado: 06 Ene 2004, 21:20
por ThE KuKa
Anuncio oficial de psoTFX en phpbb.com
Se trata de dos errores de seguridad en privmsg.php y groupcp.html asi que tendreis que realizar estos cambios en dichos archivos.

Los paquetes completos ya han sido actualizados en phpbb.com

Antes de nada, hacer copias de seguridad de esos archivos

Abrir el archivo privmsg.php y buscar esto...

Código: Seleccionar todo

if ( isset($HTTP_POST_VARS['folder']) || isset($HTTP_GET_VARS['folder']) ) 
{ 
   $folder = ( isset($HTTP_POST_VARS['folder']) ) ? $HTTP_POST_VARS['folder'] : $HTTP_GET_VARS['folder']; 

   if ( $folder != 'inbox' && $folder != 'outbox' && $folder != 'sentbox' && $folder != 'savebox' ) 
   { 
      $folder = 'inbox'; 
   } 
} 
else 
{ 
   $folder = 'inbox'; 
}
Reemplazar por esto...

Código: Seleccionar todo

if ( isset($HTTP_POST_VARS['folder']) || isset($HTTP_GET_VARS['folder']) ) 
{ 
   $folder = ( isset($HTTP_POST_VARS['folder']) ) ? $HTTP_POST_VARS['folder'] : $HTTP_GET_VARS['folder']; 
   $folder = htmlspecialchars($folder); 

   if ( $folder != 'inbox' && $folder != 'outbox' && $folder != 'sentbox' && $folder != 'savebox' ) 
   { 
      $folder = 'inbox'; 
   } 
} 
else 
{ 
   $folder = 'inbox'; 
}
Buscar esto...

Código: Seleccionar todo

if ( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
} 
else 
{ 
   $mode = ''; 
}
Reemplazar esto...

Código: Seleccionar todo

if ( !empty($HTTP_POST_VARS['mode']) || !empty($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( !empty($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
   $mode = htmlspecialchars($mode); 
} 
else 
{ 
   $mode = ''; 
}
Guardar el archivo.

Abrir el archivo groupcp.html y buscar esto...

Código: Seleccionar todo

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
} 
else 
{ 
   $mode = ''; 
}
Reemplazar esto...

Código: Seleccionar todo

if ( isset($HTTP_POST_VARS['mode']) || isset($HTTP_GET_VARS['mode']) ) 
{ 
   $mode = ( isset($HTTP_POST_VARS['mode']) ) ? $HTTP_POST_VARS['mode'] : $HTTP_GET_VARS['mode']; 
   $mode = htmlspecialchars($mode); 
} 
else 
{ 
   $mode = ''; 
}
Buscar esto...

Código: Seleccionar todo

if ( ( ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) && isset($HTTP_POST_VARS['pending_members']) ) || ( isset($HTTP_POST_VARS['remove']) && isset($HTTP_POST_VARS['members']) ) ) 
            { 

               $members = ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) ? $HTTP_POST_VARS['pending_members'] : $HTTP_POST_VARS['members']; 

               $sql_in = ''; 
               for($i = 0; $i < count($members); $i++) 
               { 
                  $sql_in .= ( ( $sql_in != '' ) ? ', ' : '' ) . $members[$i]; 
               }
Reemplazar esto...

Código: Seleccionar todo

if ( ( ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) && isset($HTTP_POST_VARS['pending_members']) ) || ( isset($HTTP_POST_VARS['remove']) && isset($HTTP_POST_VARS['members']) ) ) 
            { 

               $members = ( isset($HTTP_POST_VARS['approve']) || isset($HTTP_POST_VARS['deny']) ) ? $HTTP_POST_VARS['pending_members'] : $HTTP_POST_VARS['members']; 

               $sql_in = ''; 
               for($i = 0; $i < count($members); $i++) 
               { 
                  $sql_in .= ( ( $sql_in != '' ) ? ', ' : '' ) . intval($members[$i]); 
               }
Guardar el archivo y subir los dos archivos a vuestro sitio.