Показать сообщение отдельно
Старый 16.02.2011, 18:46 Вверх   #8
Коварный тип
 
Аватар для Serberg
Serberg вне форума
Доп. информация
Хорошо Недостаточная фильтрация входящих данных

Недостаточная фильтрация входящих данных

Проблема: Пользователю которому разрешена загрузка файлов на сервер (не картинок), может выйти за пределы разрешенной папки загрузки, а если он имеет администраторский аккаунт на сайте, то и повредить данные скрипта.

Ошибка в версии: 7.x - 8.5

Степень опасности: Средняя (Высокая при наличии администраторского аккаунта на сайте)

Для исправления откройте файл engine/inc/files.php и найдите:

PHP код:
$serverfile trimhtmlspecialcharsstrip_tags$_POST['serverfile'] ) ) ); 
замените на:

PHP код:
 if ($member_id['user_group'] == 1$serverfile trimhtmlspecialcharsstrip_tags$_POST['serverfile'] ) ) ); else $serverfile '';

        if ( 
$serverfile != '' ) {

            
$serverfile str_replace"\\""/"$serverfile );
            
$serverfile str_replace".."""$serverfile );
            
$serverfile str_replace"/"""$serverfile );
            
$serverfile_arr explode"."$serverfile );
            
$type totranslitend$serverfile_arr ) );
            
$curr_key key$serverfile_arr );
            unset( 
$serverfile_arr[$curr_key] );

            if ( 
in_arraystrtolower$type ), $allowed_files ) ) 
                
$serverfile totranslitimplode"."$serverfile_arr ) ) . "." $type
            else 
$serverfile '';

        }

        if( 
$serverfile == ".htaccess") die("Hacking attempt!"); 
Откройте файл engine/classes/thumb.class.php и найдите:

PHP код:
$this->img['des'] = imagecreatetruecolor$this->img['lebar_thumb'], $this->img['tinggi_thumb'] ); 
и добавьте выше:

PHP код:
        if ($this->img['lebar_thumb'] < $this->img['lebar_thumb'] = 1;
        if (
$this->img['tinggi_thumb'] < $this->img['tinggi_thumb'] = 1
взял тут
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.06307 секунды с 10 запросами