Pagina 1 din 1

[Securitate] O posibilă problemă SQL

Scris: 20-Mar-2004, 10:50:41
de BuGsY
phpBB.com a primit o notificare prin care le este adus la cunoştinţă faptul ca fişierul search.php este oarecum “defect”. Sub aceasta circustanţa s-a observat că versiunile phpBB 2.0.x sunt oferite pe tava persoanelor rau voitoare; parola SQL obţinându-se relativ usor de către acestia. Administratorii de forumuri phpBB 2.0.x îşi pot face modificările prezentate mai jos pentru a scapa de acest incovenient.

În cel mai scurt timp vom face un nou update al tuturor arhivelor phpBB 2.0.7, astfel încât noile instalari si upgrate-uri vor fi imune.

Pentru a scăpa de acest bug deschide fişierul search.php cu orice editor de text şi urmăreşte următorii paşi.

Cauta:

Cod: Selectaţi tot

$show_results = ( isset($HTTP_POST_VARS['show_results']) ) ? $HTTP_POST_VARS['show_results'] : 'posts';
Dupa, Adauga:

Cod: Selectaţi tot

$show_results = ($show_results == 'topics') ? 'topics' : 'posts';
Cauta:

Cod: Selectaţi tot

   $store_vars = array('search_results', 'total_match_count', 'split_search', 'sort_by', 'sort_dir', 'show_results', 'return_chars');
Dupa, Adauga:

Cod: Selectaţi tot

  $search_results = '';
Pentru a fixa problema redirectionararii:
Deschide fisierul login.php
Cauta:

Cod: Selectaţi tot

                  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : "index.$phpEx";
Inlocuieste aceasta linie cu:

Cod: Selectaţi tot

$url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
Cauta:

Cod: Selectaţi tot

               $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : '';
Inlocuieste aceasta linie cu:

Cod: Selectaţi tot

               $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : '';
Cauta:

Cod: Selectaţi tot

         $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : "";
Inlocuieste aceasta linie cu:

Cod: Selectaţi tot

         $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "";
Cauta:

Cod: Selectaţi tot

         $url = (!empty($HTTP_POST_VARS['redirect'])) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : htmlspecialchars($HTTP_GET_VARS['redirect']);
Dupa, Adauga:

Cod: Selectaţi tot

$url = str_replace('&', '&', $url);
Cauta:

Cod: Selectaţi tot

      $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : "index.$phpEx";
Inlocuieste aceasta linie cu:

Cod: Selectaţi tot

      $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx";
Deschide fisierul privmsg.php
Cauta:

Cod: Selectaţi tot

   message_die(GENERAL_ERROR, 'Could not query private messages', '', __LINE__, __FILE__, $sql); 
} 

if ( $row = $db->sql_fetchrow($result) ) 
{
Dupa, Adauga:

Cod: Selectaţi tot

  $i = 0;
Cauta:

Cod: Selectaţi tot

      $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2']; 
      $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
Dupa, Adauga:

Cod: Selectaţi tot

     $i++;
Salveasa aceste modificari si inlocuieste fisierele de pe server cu acestea.

Scris: 20-Mar-2004, 15:22:17
de danielt
Pachetele de download, pentru versiunea 2.0.7, au fost actualizate.

Pentru versiunea 2.0.6 este indicat să se facă modificarea manual sau să se facă update la versiunea 2.0.7.