Автораздача номеров асек
 
Тема Ответов Дата Последний Просмотров
null Раздача номеров icq №2 26 16/05/12 - 00:42 » INDIGO 5750
null Автоматическая регистрация лицензионным AllSubmitter v.7.0.3 5 5/05/12 - 22:35 » INDIGO 270
null Реврайт в дле 9.6 6 4/05/12 - 01:34 » INDIGO 41
null Помощь по движку DLE, вопросы и ответы 37 29/02/12 - 03:57 » INDIGO 495
null Скачивание после нажатия на рекламу 1 9/02/12 - 03:55 » aXdeX 723
null Главную страницу хостинга Ucoz ДДОСят 5 30/01/12 - 10:53 » Hut 309
null Стоит ли делать СДЛ на Ucoz? 26 24/01/12 - 08:06 » aXdeX 413
null Администратор мегасофта 33 11/12/11 - 17:05 » Uchiha_Samara 560
null Анекдот - случай у стоматолога 2 11/12/11 - 03:23 » Uchiha_Samara 402
null Жалобы и предложения 20 23/11/11 - 23:46 » storm_cloud 1107

Способ взлома и защиты DLE

Автор: INDIGO от 12-11-2010, 01:06, посмотрело: 1569

1

Способ взлома и защиты DLE

Недостаточная фильтрация данных - способ взлома и защиты DLE

За последнее время участились случаи взлома сайтов на CMS DataLife Engine, это связано с новоиспеченной уязвимостью в популярном движке. Думаю пора открыть завесу тайны и рассказать как использовать эту дыру и как уберечь свой сайт. Почему я это делаю спросите Вы, отвечаю - больше половины проектов обновились до DLE 9.0, а на старые версии поставлены заплатки. Не расстраиваетесь, еще можно отыскать "дырявые" сайты, администратор которых не следит за выходом исправлений. В полной новости вы узнаете как взломать сайт на DLE и как уберечь свой проект от покушений.

Взлом сайта на DLE версии ниже 9.0, инструкция (Работаем через браузер Opera 10).

1. Заходим на сайт жертвы

2. Регистрируемся и авторизуемся на сайте

3. Переходим по ссылке http://site.ru/engine/images.php (где site.ru - адрес жертвы)

4. Открываем исходный код открытой нами страницы и после:

<input type="hidden" name="area" value=''>

(строка может немного отличаться и повторяться 2 раза, вставляем после 1й)

вставляем:

<input type="hidden" name="serverfile" value='../../engine/data/dbconfig.php'>

Нажимаем в браузере, под вкладками Применить изменения

5. После этих действий необходимо проверить работоспособность дырки, для этого на странице http://сайт.ру/engine/images.php, чей исходный код мы редактировали пунктом выше, нажимаем Загрузить. В списке загруженных файлов должен появиться dbconfig.php, мы можем продолжить...

Что бы скачать файл конфига мы должны навести на него указатель мыши и посмотреть ID, затем через Исходный код страницы / Применить изменения мы вставляем в любое место страницы сайта жертвы ссылку вида:

<a href='http://сайт.ру/engine/download.php?id=ID_файла'>[download]</a>

или в ЛС себе любимому отсылаете:

[_url=http://сайт.ру/engine/download.php?id=1][download][_/url]

нижние подчеркивания в URL убираем!!!

Затем открываем это ЛС и скачиваем файл dbconfig.php с данными для входа в phpMyAdmin, адрес которой обычно

сайт.ру/phpmyadmin/
сайт.ру/myadmin/
сайт.ру/myphpadmin
сайт.ру/sqladmin
myadmin.сайт.ру/
myphpadmin.сайт.ру/

https://phpmyadmin.сайт.ру/

 

Только что я рассказал Вам как взломать сайт на DataLife Engine, удачи.

Сейчас настало время перейти к рассмотрению способа защиты от взлома, описанного выше:

1. Открываем файл 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!");

2. Открываем файл 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;

Установка защиты от взлома DLE, а точнее исправление недостаточной фильтрации данных завершена.

Категория: DLE

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
<
  • Публикаций: 0
  • Комментариев: 0
  • ICQ: --
29 ноября 2010 20:49

allo

  • Группа: Гости
  • Регистрация: --
 
Нихера это не проканает

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 
Радио онлайн:
]]>]]> ]]>]]>