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

5 семестр / Л7_

.docx
Скачиваний:
5
Добавлен:
24.11.2023
Размер:
579.61 Кб
Скачать

Федеральное государственное бюджетное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОННИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

ЗАЩИТА ОТ SQL-ИНЪЕКЦИЙ

Отчет по лабораторной работе № 7 По дисциплине «Безопасность систем баз данных»

Студенты гр. 711-2

____________

08.11.2023

Принял

Младший преподаватель каф. КИБЭВС

__________

________ Р.Д. Сахарбеков

08.11.2023

Введение

Цель работы: изучение принципов реализации атак вида «SQL-инъекций» и методов защиты от атак такого вида. Согласно варианту №3 реализовать с помощью инъекций:

  • список персональных компьютеров фирмы А или В;

  • список персональных компьютеров и ноутбуков, имеющих объем больше 64 ГБ и дороже 700 условных единиц;

  • список всех цветных принтеров;

  • реализовать защиту типизацией данных и экранированием.

ХОД РАБОТЫ

На виртуальной машине в браузере была открыта вкладка localhost и, согласно 3 варианту, использовался файл computer_injections.php (рисунок 1.1)

Рисунок 1.1 – Открытая вкладка

Чтобы узнать название базы данных использовалась команда AND db_name()=1 и команда AND @@vercion=1, чтобы узнать версию базы (рисунки 1.2 – 1.3).

Рисунок 1.2 – Имя базы данных

Рисунок 1.3 – Версия базы данных

Чтобы открыть все названия таблиц использовалась команда UNION ALL SELECT 0, TABLE_NAME, 0, 0, 0, 0, 0 FROM INFORMATION_SCHEMA.TABLES (рисунок 1.4).

Рисунок 1.4 – Вывод названия всех таблиц

Чтобы открыть все атрибуты использовалась команда UNION ALL SELECT 0, COLUMN_NAME, 0, 0, 0, TABLE_NAME, O FROM INFORMATION_SCHEMA.COLUMNS (рисунок 1.5).

Рисунок 1.5 – Все атрибуты

Таблица всех ноутбуков типа А или В был выведена с помощью команды UNION ALL SELECT 0, maker, 0, 0, 0, type, 0 FROM Product WHERE (maker = ‘A’ OR maker = ‘B’) AND type = laptop (рисунок 1.6).

Рисунок 1.6 – Первое задание

Для выполнения второго задания использовалась команда UNION ALL SELECT 0, ram, 0, 0, 0, price FROM PC WHERE ram > ‘64’ AND price > ‘700’ (рисунок 1.7).

Для выполнения третьего задания использовалась команда UNION ALL SELECT 0, color, 0, 0, 0, type, 0 FROM Printer WHERE color = ‘y’ (рисунок 1.8).

Рисунок 1.7 – Второе задание

Рисунок 1.8 – Третье задание

Для того, чтобы реализовать защиту от SQL-инъекций, было открыто приложение Sublime Text и файл computer_injections.php (рисунок 1.9)

Рисунок 1.9 – Неудачная попытка добавления данных

Типизация данных и экранирование путём применения оператора «--» предоставлено на рисунке 1.10.

Подтверждение того, что внесенные изменения защищают от инъекций изображено на рисунке 1.11.

Рисунок 1.10 – Защита от инъекций в коде

Рисунок 1.11 – Подтверждение работы защиты от инъекций

Заключение

В данной работе были получены навыки реализации SQL-инъекций и защиты от них.

Отчет был написал согласно ОС ТУСУР 01-2021.

Томск 2023

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