mmaxsim.ucoz.ua
Меню сайта
Категории раздела
Ubuntu [69]
Ubuntu
DLE [7]
баги. фиксы и тд
Windows [6]
eyeOS [3]
FreeBSD [5]
FreeBSD
Linux [0]
VMware ESXi [7]
Amazon kindle [0]
Debian [4]
Trimax TR-2012HD [1]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2010 » Октябрь » 15 » Недостаточная фильтрация входящих данных
21:19
Недостаточная фильтрация входящих данных
облема: Пользователю которому разрешена загрузка файлов на сервер (не картинок), может выйти за пределы разрешенной папки загрузки, а если он имеет администраторский аккаунт на сайте, то и повредить данные скрипта.

Ошибка в версии: Все версии

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

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

$serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) );


замените на:

        if ($member_id['user_group'] == 1) $serverfile = trim( htmlspecialchars( strip_tags( $_POST['serverfile'] ) ) ); else $serverfile = '';

        if ( $serverfile != '' ) {

            $serverfile = str_replace( "\\", "/", $serverfile );
            $serverfile = str_replace( "..", "", $serverfile );
            $serverfile = str_replace( "/", "", $serverfile );
            $serverfile_arr = explode( ".", $serverfile );
            $type = totranslit( end( $serverfile_arr ) );
            $curr_key = key( $serverfile_arr );
            unset( $serverfile_arr[$curr_key] );

            if ( in_array( strtolower( $type ), $allowed_files ) )
                $serverfile = totranslit( implode( ".", $serverfile_arr ) ) . "." . $type;
            else $serverfile = '';

        }

        if( $serverfile == ".htaccess") die("Hacking attempt!");


Откройте файл engine/classes/thumb.class.php и найдите:

$this->img['des'] = imagecreatetruecolor( $this->img['lebar_thumb'], $this->img['tinggi_thumb'] );


и добавьте выше:

        if ($this->img['lebar_thumb'] < 1 ) $this->img['lebar_thumb'] = 1;
        if ($this->img['tinggi_thumb'] < 1 ) $this->img['tinggi_thumb'] = 1;


В старых версиях, файл engine/classes/thumb.class.php находится в engine/inc/makethumb.php
Категория: DLE | Просмотров: 1122 | Добавил: Maxs | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Календарь
«  Октябрь 2010  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024