Форум о социальных сетях Поиск по форуму Инвестиции SMM обучение SMM курсы
Форум о социальных сетях Поиск по форуму Инвестиции SMM обучение SMM курсы
  • Страница 1 из 1
  • 1
Недостаточная фильтрация входящих данных
#1
Понедельник, 14.06.2010, 16:53
muztag
Заблокированные
Сообщения: 184
Репутация: 54
Проблема: Пользователю которому разрешена загрузка файлов на сервер (не картинок), может выйти за пределы разрешенной папки загрузки, а если он имеет администраторский аккаунт на сайте, то и повредить данные скрипта.

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

Степень опасности: Средняя (Высокая при наличии администраторского аккаунта на сайте)
Для исправления откройте файл 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;

[color=red][size=22][b]Aviator и ПрифанТом дебили![/b][/size][/color]
  • Страница 1 из 1
  • 1
Поиск:
Форум
Социальные сети
Хостинг от uCoz