Хак Защита от загрузки шеллов

Тема в разделе "DLE", создана пользователем BKK, 5 июл 2010.

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

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

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

    BKK

    Регистр.:
    21 окт 2009
    Сообщения:
    161
    Симпатии:
    45
    Выкладываю свою наработку! Суть хака заключается в том,что злоумышленик получив доступ в админцентр,постарается разрешить загрузку php файлов, тем самым залить шелл на сайт.

    Проблема решаема ;)

    Открываем engine/inc/files.php

    Находим

    Код:
    $allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
    $allowed_video = array ("avi", "mp4", "wmv", "mpg", "flv", "mp3", "swf", "m4v", "m4a", "mov", "3gp", "f4v" );
    $allowed_files = explode( ',', strtolower( $config['files_type'] ) );
    $img_result_th = "";
    $img_result = "";
    заменяем на

    Код:
    $allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
    $allowed_video = array ("avi", "mp4", "wmv", "mpg", "flv", "mp3", "swf", "m4v", "m4a", "mov", "3gp", "f4v" );
    $allow_conf = str_replace("php",md5(time() - rand(30,60)),strtolower( $config['files_type'] ));
    $allowed_files = explode( ',', $allow_conf );
    $img_result_th = "";
    $img_result = "";
    Как бы теперь, можно спать спокойно! Будьте бдительны ;)
    Новые дырки появляются часто, старайтесь быстро лататься:)

    autor:kzpromo
     
    dragonstyle нравится это.
  2. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    имело бы заодно смысл добавить вариант с .phtml
     
  3. BKK

    BKK

    Регистр.:
    21 окт 2009
    Сообщения:
    161
    Симпатии:
    45
    PHP:
    $allowed_extensions = array ("gif""jpg""png""jpe""jpeg" );
    $allowed_video = array ("avi""mp4""wmv""mpg""flv""mp3""swf""m4v""m4a""mov""3gp""f4v" );
    $allow_conf str_replace("php",md5(time() - rand(30,60)),strtolower$config['files_type'] ));
    $allow_conf str_replace("phtml",md5(time() - rand(30,60)),$allow_conf);
    $allowed_files explode','$allow_conf );
    $img_result_th "";
    $img_result "";
     
    dragonstyle нравится это.
  4. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    лично я не понял смысла этой затеи

    пояснишь ?
     
  5. BKK

    BKK

    Регистр.:
    21 окт 2009
    Сообщения:
    161
    Симпатии:
    45
    Поясняю!Данный хак запрещает загрузку php файлов, даже если разрешить загрузку php файлов из engine/data/config.php
    Действующая защита в виде engine/uploads/files/.htaccess работает нестабильно, при желании можно обойти прописанные ограничения, удалив сам файл

    Думаю все ясно расписал :nezn:
     
  6. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    правильные права на .htaccess и engine/uploads/files/ решат вопрос
     
  7. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    Тебе выше написали не решают и можно легко удалить .htaccess.
     
  8. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    расскажи как ты собираешься удалять .htaccess с правами запрещающими запись ?
     
  9. zerg

    zerg

    Регистр.:
    5 май 2006
    Сообщения:
    263
    Симпатии:
    345
    в случае если речь о впс или дедик то задача еще на порядок усложняется. удалить сможет только с рут правами и то если знать как.
    chattr +a
    даже рут после этого флага не может удалить файл. Для удаления нужно предварительно его снять chattr -a
    просмотр расширеных атрибутов lsattr
     
  10. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    Да легко. Прописать в БД(если до него добратся) за место любого файла путь до htaccess в папки files :D заходим в файлс и удаляем его простым нажатие мышки
    А если ты ограничиваешь доступ к папке полностью (не залить не чего), то это называется не защита, а тупо отключение. В таком случае лучше просто отключить проблему. Это как если бы к врачу пришел пациент с больной ногой, а ему врач взял ее и отхирачил. Зато больше не болит в том месте :D
     
Статус темы:
Закрыта.