Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

[Безопасность] Возможная SQL-уязвимость

Аватара пользователя
Mr. Anderson
phpBB Guru
phpBB Guru
Сообщения: 7522
Стаж: 20 лет 1 месяц
Откуда: СССР
Благодарил (а): 5 раз
Поблагодарили: 105 раз

[Безопасность] Возможная SQL-уязвимость

Сообщение Mr. Anderson »

Да, это произошло снова! :) Выпуск phpBB 2.0.7a связан с вопросами безопасности, также исправляются несколько ошибок. Рекомендуется произвести обновление как можно скорее.

Для устранения уязвимостей откройте файл search.php и внесите такие изменения
.
НАЙДИТЕ:

Код: Выделить всё

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

ПОСЛЕ ДОБАВЬТЕ:

Код: Выделить всё

$show_results = ($show_results == 'topics') ? 'topics' : 'posts'; 
НАЙДИТЕ:

Код: Выделить всё

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


ПОСЛЕ ДОБАВЬТЕ:

Код: Выделить всё

   $search_results = ''; 


Для исправление проблем с редиректом откройте файл login.php и внесите в него такие изменения:

НАЙДИТЕ:

Код: Выделить всё

                  $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : "index.$phpEx"; 
ЗАМЕНИТЕ НА:

Код: Выделить всё

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


НАЙДИТЕ:

Код: Выделить всё

               $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : ''; 


ЗАМЕНИТЕ НА:

Код: Выделить всё

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


НАЙДИТЕ:

Код: Выделить всё

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


ЗАМЕНИТЕ НА:

Код: Выделить всё

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


НАЙДИТЕ:

Код: Выделить всё

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


ПОСЛЕ ДОБАВЬТЕ:

Код: Выделить всё

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


НАЙДИТЕ:

Код: Выделить всё

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

ЗАМЕНИТЕ НА:

Код: Выделить всё

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

И, наконец, осталась небольшая ошибка, нарушающая цвет строк в разделе личных сообщений. Для исправления откройте файл privmsg.php и внесите такие изменения:

НАЙДИТЕ:

Код: Выделить всё

   message_die(GENERAL_ERROR, 'Could not query private messages', '', __LINE__, __FILE__, $sql); 
} 
if ( $row = $db->sql_fetchrow($result) ) 
{ 


ПОСЛЕ ДОБАВЬТЕ:

Код: Выделить всё

   $i = 0; 


НАЙДИТЕ:

Код: Выделить всё

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


ПОСЛЕ ДОБАВЬТЕ:

Сохраните изменения и загрузите файлы на сервер.

Вернуться в «Новости и объявления (архив)»