Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5 семестр / ответы / лаба7

.docx
Скачиваний:
3
Добавлен:
24.11.2023
Размер:
16.63 Кб
Скачать
  1. Дайте определение понятию SQL-инъекции;

SQL-инъекция (атака посредством внедрения SQL кода) – атака, которая заключается во внедрении вредоносного кода через пользовательский интерфейс, который в процессе обработки внутри приложения будет преобразован в SQL запрос.

  1. Опишите отличительные признаки, достоинства и недостатки типов инъекций, приведенных в лабораторной работе;

  1. Каким образом можно защититься от SQL-инъекции?

Обнаружение в рамках приложения при построении кода – набор техник, используемых при программировании приложения

Минимизация прав доступа – субд не позволит исполнить код больше, чем пользователь, от имени к-го он выступает.

Использование авто-х средств обнаружение вторжения

  1. Перечислите несколько программных техник, с помощью которых можно ограничить некоторые виды инъекций;

Фильтрация или экранирование спецсимволов, кавычек – превращает символы в текст

Фильтрация по типу данных и типизация данных – данные от пользователя нельзя вставлять в Sql-запрос. Получаемые данные необходимо приводить к тому типу, который ожидается базой.

Ограничение и возращение данных – получают только абсолютный минимум нужных данных

Применение подготовленных запросов

Учет размера буфера данных (?)

  1. Чем метод передачи данных GET отличается от POST? Какие данные можно передавать через GET и какие через POST?

метод GET сообщает серверу, что пользователь хочет получить некоторые данные, а POST — что некоторые данные должны быть помещены на сервер

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

  1. Чего злоумышленник может добиться посредством SQLинъекции? За какие границы он не может выйти посредством одних только инъекций?

  1. Приведите конкретный пример SQL-инъекции на следующем запросе: SELECT * FROM salaries WHERE user_name = '[userdata]'; – в запросе строка [userdata] заменяется на пользовательские данные.

  1. Для чего в SQL-запрос добавляется оператор комментирования?

Сочетание символов -- (два дефиса) означает комментарий, соответственно, символы '; , которые добавляются приложением в конце запроса и завершают его, будут проигнорированы, вместо них останется только ; , указанный злоумышленником для составления синтаксически верного запроса.

  1. Какие функции языка PHP могут использоваться для защиты от SQL-инъекций? Какие параметры они принимают и что делают?

  1. *Всегда ли будет срабатывать последовательно выполняемая инъекция удаления той или иной таблицы? Почему?

Соседние файлы в папке ответы