Noi pachete pentru descărcare - probleme de securitate

Înainte de a începe să scrii un nou mesaj citeşte ultimele anunţuri şi regulamentul forumului.
Reguli forum
Aveti o problema si vreti sa primiti ajutor? Click aici ! Nu uitati si de regulamentul forumului !
Avatar utilizator
mihaitza
Fost coleg
Mesaje: 1873
Membru din: 13-Ian-2003, 22:22:10
Versiune: 3.0.5
Ext: Nu
Server: Windows
Nivel phpBB: Experimentat
Localitate: Cluj-Napoca, România
Contact:

Noi pachete pentru descărcare - probleme de securitate

Mesaj de mihaitza »

S-au găsit două posibile vulnerabilităţi în pachetul existent 2.0.6. Una este legată de posibilitatea pentru utilizatori (grup Moderatori) de a exploata o validare de date nepotrivită rezultată.

Ambele erori existente sunt destul de serioase pentru a justifica necesitatea modificării.

Toate pachetele oferite pentru descărcare sunt acum modificate. Oferim totuşi şi sursa pentru cei care nu pot folosi pachetele originale ( din cauza modurilor instalate, etc ).

Deschide privmsg.php şi caută secvenţa de cod:

Cod: Selectaţi tot

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'; 
} 


Înlocuieşte cu:

Cod: Selectaţi tot

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'; 
} 


Caută

Cod: Selectaţi tot

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 = ''; 
} 


Înlocuieşte cu :

Cod: Selectaţi tot

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 = ''; 
} 


Salvează modificările.

Deschide groupcp.php şi caută secvenţa de cod:

Cod: Selectaţi tot

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 = ''; 
} 


Înlocuieşte cu:

Cod: Selectaţi tot

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 = ''; 
} 


Caută:

Cod: Selectaţi tot


            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]; 
               } 


Înlocuieşte cu:

Cod: Selectaţi tot


            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]); 
               } 


Salvează modificările şi încarcă pe server ambele fişiere peste versiunea existentă.
Scrie răspuns

Înapoi la “Anunţuri”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori