Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/01/2004, 12:32
elmajaron
Invitado
 
Mensajes: n/a
Puntos:
2 Fallos de seguridad en phpbb 2.0.6

se han encontrado 2 importantes fallos de seguridad en la version 2.0.6 del sistema de foros phpBB por los que un usuario mal intencionado podria hacer un uso indevido de dichos foros. Para soluccionarlo se puede descargar de la pagina oficial www.phpbb.com el foro complento con los fallos corregidos o bien hacer nosotros mismos las siguientes modificaciones en los archivos afectados.

abrir con el block de notas el archivo privmsg.php

Encontrar:



Código:
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'; 
}
Sustituir por:

Código:
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'; 
}
Encontrar

Código:
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 = ''; 
}
Sustituir Por:

Código:
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 los cambios privmsg.php

Abrir el archivo groupcp.php

Encontrar

Código:
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 = ''; 
}
Sustituir Por:

Código:
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 = ''; 
}
Encontrar

Código:
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]; 
               }
Sustituir Por:

Código:
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 los cambios en el archivo groupcp.php

Mas informacion Aqui

eso es todo un saludo