1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Взлом и защита сайтов

Тема в разделе "Безопасность", создана пользователем akva444, 7 сен 2018.

  1. TopicStarter Overlay
    akva444

    akva444

    Регистрация:
    2 сен 2018
    Сообщения:
    2
    Симпатии:
    1
    Взлом и защита сайтов: Часть Первая

    Каждый, кто имеет свой собственный сайт, неизбежно задаётся вопросом:
    - А меня не взломают?
    Такие мысли вполне понятны, ведь сайт или форум - это как маленький ребёнок,
    который требует постоянного внимания... владелец тратит очень много времени
    на обслуживание своего ресурса. И становится очень печально, когда злоумышленник
    сведёт все труды к нулю...
    Конечно, современные хостинги восстановят сайт из резервной копии минут за 30,
    но это не будет решением возникшей "проблемы", ведь лазейка (доступ) к сайту
    наверняка осталась и злоумышленник вполне может повторить свои действия...

    Хочу отметить, что в хакерской среде существует понятие - дайвер.
    (впервые о них упомянул Сергей Лукьяненко в книге "Лабиринт отражений")
    Дайвер - это и есть тот самый профи, который вскроет и получит доступ к чему
    угодно, это хакерская элита, кстати, они обладают определённым моральным
    кодексом... да, они получают доступ, похищают информацию - но никогда ничего
    не портят! (принято считать, что из уважения к чужому труду)
    Однако, таких людей, во всём мире, всего человек 200. И шанс, что вас взломает
    дайвер... ну, сами понимаете, что таким людям делать на вашем сайте?

    Тем не менее, взломы иногда происходят и доступ с админскими правами получают
    далеко не дайверы. Вставляют ссылки на всякие разные сайты, портят ленту новостей,
    меняют пароли и тд и тд. Сплошная головная боль для хозяина ресурса.

    Резонно возникает вопрос, и даже не один вопрос: "Как происходят взломы?", "Почему
    они происходят?", "Как защитить свой сайт?"...

    Ответы на эти вопросы до банального просты.
    Львиная доля всех взломанных сайтов происходит по вине хозяев этих сайтов.
    Если точнее, из-за их неправильных действий.

    Когда человек собирается сделать свой сайт, первым делом начинает думать,
    на каком движке будет работать сайт. А этих движков... полным полно...
    Есть платные, есть и бесплатные. Какой выбрать? (особенно когда не хочется платить)
    Бесплатный? Можно конечно... но есть одно НО!
    Вот ,например, популярный WordPress, всё как бы хорошо, однако вот ссылка:

    Войти или зарегистрироваться, чтобы увидеть ссылку.

    На сайте регулярно публикуются уязвимости этого движка, причём включая даже
    самые последние версии. Вот здесь, довольно интересная уязвимость

    Войти или зарегистрироваться, чтобы увидеть ссылку.

    Атакующий может установить заголовок сообщения «From» в сообщениях со сбросом пароля.
    Другими словами, можно сделать подмену адреса для формы восстановления пароля,
    собственно и ломать ничего не нужно... получили письмо на своё мыло, перешли по ссылке,
    указали новый пароль.... и в админке...

    Код:
    curl -H "Host: www.evil.com" --data "user_login=admin&redirect_to=&wp-submit=Get+New+Password" http://example.com/wp-login.php?action=lostpassword
    Подробнее об этой уязвимости читайте здесь:
    Войти или зарегистрироваться, чтобы увидеть ссылку.

    Если злоумышленник не хочет светить своё настоящее мыло, не только в данном случае,
    а например при регистрации на сайте/форуме, он может воспользоваться этим сервисом:

    Войти или зарегистрироваться, чтобы увидеть ссылку.

    Достаточно придумать (написать, например samanta) название ящика и нажать - Check
    Потом заходить, проверять наличие писем по ссылке:

    Войти или зарегистрироваться, чтобы увидеть ссылку. - письма хранятся 2 дня, ящик не пропадает,
    но содержимое очищается.

    Для использования этой уязвимости атакующий должен скачать и установить утилиту: cURL
    Разве это проблема? Кроме того, вовсе не обязательно устанавливать Linux или Kali Linuxб
    всё можно сделать и на Windows...

    Скачать curl для Win64
    Войти или зарегистрироваться, чтобы увидеть ссылку.

    Потом следует распаковать архив, папку "curl-7.61.1-win64-mingw" переименовать в "curl"
    и закинуть в корень вашего диска (С:). А чтобы утилита заработала, нужно открыть папку "bin"
    и запустить там файл curl-ca-bundle.crt (это установка сертификата), вот и всё.
    Открыв коммандную строку (cmd) переходим в папку: cd C:\curl\bin
    и можем использовать указанный выше код (конечно адреса правим под себя).

    Теперь вернёмся к нашему человеку, который решил сделать сайт.
    Если ему попалась подобная информация, наверняка он не захочет использовать WordPress.
    Наверняка решит, что бесплатные движки применять опасно. У них открытый исходный код
    и каждый желающий может подвергнуть его анализу и обнаружить "упущения" разработчиков,
    что собственно и происходит, т.к уязвимости появляются с "хорошей" регулярностью.

    Интуитивно, наш вымышленный человек понимает, что лучше использовать платный движок.
    Разработчики платного продукта очень большое внимание уделяют безопасности, т.е защите
    движка от взлома... ведь если такой движок будет легко взломать - кто его будет покупать?
    Логично... Вот, например, движок DLE (DataLife Engine)

    Официальный сайт: Войти или зарегистрироваться, чтобы увидеть ссылку.

    Очень хороший функционал и настоящая радость для хостинга, нагрузка на сервер минимальная.
    (из своего личного опыта могу сказать, что на обычном виртуальном хостинге, DLE справился
    с 10.000-ми посетителей, хотя и стал немного подтормаживать) Да и кто может привести
    пример, за последние года два, о взломанных сайтах на DLE ?

    Наш человек всё это понимает, но опять есть одно НО! Он не хочет платить....
    Он вбивает в поиск: скачать DataLife Engine Nulled
    Ссылок на скачку целое море... Он скачивает, устанавливает, заходит в админку,
    видит, что лицензия активирована... и ходит довольный!!!

    Проходит какое-то время.... сайт взломан! Как? Почему? Что случилось?

    Нашему человеку и в голову не пришло: - А с какого перепуга, некие добрые дяденьки,
    потратили кучу времени, занулили скрипт и выложили его в свободном доступе?
    Альтруизм? Возможно... но, увы... Всё намного проще.

    Лично я, почти не встречала CMS Nulled без "вставленного кода", попадались версии DLE,
    где содержимое файла updates.php было полностью заменено. При прямом обращении
    открывался файловый менеджер (Shell). И такие действия вполне оправданы, ведь тот,
    кто пользует взломанный скрипт, уж точно не будет кликать для проверки обновлений.

    Поэтому, если пользовать Nulled, то не стоит удивляться и взломанному сайту.

    Что же делать, если очень хочется (или очень нужен) сайт, но купить движок... не потому,
    что денег жалко,,, а их просто нет? Решение конечно есть. Только для этого нужно
    иметь хоть какие-то знания PHP.

    Чуток подправлю свою фразу: "Поэтому, если пользовать Nulled..." на "...если пользовать чужой Nulled".
    В указанной ситуации выход один - делайте nulled сами.

    Можете попробовать, ничего особо сложного нет.

    Приведу пример действий для движка DLE.
    Для этого нам понадобится скачать Оригинальный дистрибутив движка DLE.
    (ссылок в сети полно)
    Затем скачайте несколько пакетов Nulled, так сказать от разных авторов, только
    той версии какой у вас будет оригинал. Сразу скажу, что слабое место в этом способе,
    это оригинальный пакет. В том смысле, что мы не можем быть уверены, что в какие-то
    файлы не добавлен код. Поэтому лучше попросить у знакомых, кто имеет лицензионный
    движок... пусть поделятся дистрибутивом, вы ведь не ключ лицензии просите.

    В крайнем случае зайдите на официальный сайт и скачайте DEMO версию.
    Разница в том, что DEMO, в отличии от версии Для клиентов, практически все файлы
    закодированы. Считается, что при закодированных файлах движок будет работать
    несколько медленнее. Ну, тут решать вам...

    Предположим, что пакет вам удалось взять у знакомых.

    Найдите и извлеките файл init.php Он находится по пути:
    \upload\engine\inc\include\

    Именно этот файл отвечает (содержит) информацию (код) на проверку лицензионного ключа
    и ограничение на количество новостей и комментариев, пока лицензия не активирована.
    Т.е пока лицезия не активирована, даже пакет Для клиентов будет работать как DEMO.

    Использовать версию DLE 13 (самая последняя) не стоит, там есть ещё дополнительные проверки, это
    я описывать сейчас не буду... поэтому можно взять любую версию 10 - 12.

    Открываем через F4 файл init.php
    Вместо кода вы увидите набор символов - исходный код закодирован.
    Выделяем всё и Копировать.

    Далее заходим вот сюда:

    Войти или зарегистрироваться, чтобы увидеть ссылку.

    Вставляем туда, что ранее скопировали и кликаем - Decode This PHP.

    Раскодированный исходный код копируем и вставляем в файл init.php.
    Но в таком виде он работать не будет. Его нужно подправить, удалить строки отвечающие
    за проверку ключа лицензии и ограничения... Если у вас знаний для самостоятельных
    правок нет, тогда приступаем к анализу и сравнению.

    Сравнить файлы по содержимому можно в Total Commander или каким-нить утилитами
    позволяющими это делать. Сначала мы сравним несколько файлов (не наш раскодированный),
    а файлы init.php из скачанных пакетов Nulled между собой. Я этого видеть не буду и подсказать
    что либо не смогу, поэтому постарайтесь найти одинаковые файлы. Если пакеты (и файлы)
    по-настоящему от разных авторов и полностью одинаковы, то скорее всего они "правильные",
    т.е без встроенного кода...

    Далее есть два варианта.

    Если вы уже установили оригинальный движок DLE, то самое простое - это заменить файл
    init.php (который находится в папке на сервере) на файл из Nulled пакета.

    Ну а если хотите сами научиться нулить, тогда файл, который мы раскодировали, сравнивайте
    с файлом из Nulled. Находите, копируете отличия, лишнее удаляйте.... Всё "лишнее", это
    вообще-то и будет код отвечающий за проверки, вроде:

    Код:
    function get_domen_hash() {
     $domen_md5 = explode( '.', $_SERVER['HTTP_HOST'] );
     $count_key = count( $domen_md5 ) - 1;
     unset( $domen_md5[$count_key] );
     if( end( $domen_md5 ) == "com" or end( $domen_md5 ) == "net" ) $count_key --;
     $domen_md5 = $domen_md5[$count_key - 1];
     $domen_md5 = md5( md5( $domen_md5 . "780918" ) );
     return $domen_md5;
    ,,,,,,,,,,,,,,,,,,
    Функцию получения хеша ключа для вашего домена, и тд и тд.
    Если вы с этим самостоятельно разберётесь и сохраните, сделаете пометки, какие строчки
    кода нужно удалить, то в будущем сможете это делать сами без проблем.

    В принципе Nulled можно делать под любой движок, нужно только знать в каком
    файле (иногда файлах) содержится код отвечающий за лицензирование.

    Надеюсь всё писала не зря, кому-то это будет полезным.
    Ну и конечно все понимают, что всё это исключительно в образовательных целях!


    - - - - - - -
    Автор: Анна Кольт - (для сайта Войти или зарегистрироваться, чтобы увидеть ссылку.)
     
    • Like Like x 1
    Метки:

Поделиться этой страницей

Загрузка...