На этом уроке мы сделаем бекап базы данных, затем продемонстрируем «взлом» страницы посредством SQL-инъекции, покажем, как от этого защититься и потом восстановим базу данных.
Дата отправки отчёта:
22 февраля 2016 г.
Задание выполнено: за
20 мин.
Чему научился:
Я узнал как делать бекапы баз данных и восстанавливать их
Что было сложным:
Ничего
Комментарии:
У меня id всегда передавался как INT поэтому инъекции не сработали :~) Но я уже давно знаю о них, и у меня на всех сайтах полная защита :~)
У меня алгоритмы специальные. Любая строка - есть строка и передаётся как строка. она не выполняется и не является уязвимым типом. Все запросы страниц идут через роутер, которые всё превращает в "строку" :~)
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Интересно, что у меня при таком же, как в уроке, запросе, в ответ просто приходит ошибка, а не история по номеру в начале "инъекции". Видимо, какая-то разница в реализации MySQL и MSSQL.
Конечно, если н епредусмотреть защиту от SQL-инъекций, то возможности для злоумышленника поистине безграничны :) Интересно почитать на эту тему, потому что подозреваю, что одной такой предосторожности, как в уроке, явно недостаточно.
Научился: Сделалал бекап базы данных двумя способами
Написал в адресной строке браузера SQL-инъекцию
Убедился, что она сработала: записи из таблицы удалены
Добавил в модель MySQL функцию addslashes()
Проверил, что SQL-инъекция не проходит
Восстановил базу данных из бекапа
Трудности: все понятно, интересная тема.
В какую сторону нужно копать, чтобы разобраться с одинарными ковычками и слешами в представлении SQL запроса в коде?