Помощь Шифровка атача

Тема в разделе "DLE", создана пользователем -=ZorG=-, 25 сен 2010.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. -=ZorG=-

    -=ZorG=-

    Регистр.:
    18 авг 2010
    Сообщения:
    262
    Симпатии:
    47
    Всем добрый день!
    Подскажите поставил я движок дле 9.0 был 8.3.
    Вот появилась идея опять защитить сайт от слива)

    Установка для 8.3:

    engine/modules/functions.php
    ниже ищем
    Код:
    $story = str_replace( '[attachment=' . $row['id'] . ']', $link, $story );

    заменяем на
    Код:
    $story = str_replace( '[attachment=' . $id . ']', $link, $story );

    Но такого кода нету. Есть:
    Код:
    $story = preg_replace( "'\[attachment=(.*?)\]'si", "", $story );

    Вопрос как правильно исправить чтоб работал этот хак?

    Ссылка:
    http://4dle.ru/hacks/1147158050-attachment-advance.html
     
  2. -=ZorG=-

    -=ZorG=-

    Регистр.:
    18 авг 2010
    Сообщения:
    262
    Симпатии:
    47
    Итак тему можно офф!
    Рассказываю как сделать чтоб работало на dle 9.0.
    engine/modules/functions.php
    Находим строку в функции show_attach (559)
    Код:
    while ( $row = $db->get_row() ) {
    Ниже вставляем
    Код:
    $id = $row['id'];
    $row['id'] = urlencode(base64_encode($row['id']) . md5($row['id'] . DBPASS . DBUSER));
    Ищем:
    Код:
    $find_1[] = '[attachment=' . $row['id'] . ']';
    $find_2[] = "#\[attachment={$row['id']}:(.+?)]#i";
    Меняем на:
    Код:
    $find_1[] = '[attachment=' . $id . ']';
    $find_2[] = "#\[attachment={$id}:(.+?)\]#i";
    Открываем файл
    engine/download.php
    Находим строку (95)
    Код:
    $id = intval ( $_REQUEST['id'] );
    И заменяем ее на
    Код:
    $id = intval(base64_decode(substr($_REQUEST['id'], 0, -32)));
    if (md5($id . DBPASS . DBUSER) != substr($_REQUEST['id'], -32))
    {
        die ( "Access denied" );
    }
    И всё, спасибо за внимание!
     
Статус темы:
Закрыта.