Пару дней назад зашел на один сайт с историями (адрес не разглашается). Сайт я этот уже посещаю несколько лет. Открыл историю, начал читать, и тут что-то меня поманило посмотреть в адресную строку. То, что я там увидел, помогло мне взломать этот сайт за 5 минут. Не сколько строка нас интересует, сколько php-файл и передаваемые ему параметры. Оно выглядело примерно так: story.php?stry=123.txt Я сразу удалил "123.txt" и послал пустой заголовок. В ответ я получил ошибку функции fopen(). Что я как раз о ожидал. Затем я послал в качестве параметра story.php: story.php?stry=story.php И как Вы думаете, что я получил в ответ?.. Правильно, php-код файла story.php. В результате чего, я смог получить представление о структуре сайта, и даже получить доступ к базе данных. Имея доступ к базе, я легко смог изменить пароль администратора (к счастью для администратора, пароли в базе были зашифрованы md5 () ). Собственно, я можно сказать взломал сайт, т.к. весь php-код был доступен для чтения, и база была в моих руках. А всего-то можно было поставить фильтрацию входящих данных на переменную $stry. Я не стал ничего плохого делать и написал администратору об этой дыре в безопасности. Этим примером я призываю php-кодеров не пользоваться именами файлов так открыто, и всегда фильтровать входящие от пользователя данные.
Что-то не получается? Не понятна какая-то часть кода? Напишите комментарий об этом и мы обязательно Вам все объясним! Обязательно напишите отзыв о программе / учебнике. Для выражения благодарностей есть кнопка:
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.