Добавил:
Developer Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа ЗИвГС.docx
Скачиваний:
24
Добавлен:
18.01.2024
Размер:
286.66 Кб
Скачать
    1. Запрос для создания бд:

CREATE TABLE users (

id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,

email VARCHAR(255) NOT NULL,

password VARCHAR(255) NOT NULL,

privilege INT NOT NULL

);

    1. Запрос для авторизации:

"SELECT * FROM users WHERE email = '" + email + "' AND password = '"+ password +"'"

    1. Запись в бд нового пользователя

"INSERT INTO users (email, password, privilege) VALUES (%s,%s,%s)"

Язык программирования

При разработки информационной системы использовался язык программирования Python версии 3.12.

Python является свободным и открытым исходным кодом, с большим количеством библиотек, что упрощает разработку безопасных систем и приложений. Этот язык программирования имеет широкий спектр применения, так как является интерпретируемым и может легко интегрироваться с другими языками программирования. Это позволяет определить, какие пользователи имеют доступ к каким данным, а также устанавливать ограничения на операции с данными.

В рамках практической работы использовались библиотеки, представленные в таблице 3.

Таблица 3. Используемые библиотеки Python

Название библиотеки

Назначение

OS

Необходима для работы с операционной системой

RE

Необходима для сопоставления регулярных выражений, аналогичные тем, которые можно найти в Perl.

JSON

Необходима для обмена данными, основанный на синтаксисе объектных литералов JavaScript 

PYMYSQL

Необходима для подключения к MYSQL

FLASK

Необходима для создание запросов к веб серверу

WAITRESS

Необходима для создания веб сервера

Интерфейс

Внешний вид сайта, представлен на рисунках 1-4.

Рисунок 1 Внешний вид формы Регистрации.

Рисунок 2. Внешний вид формы Авторизации

Рисунок 3. Внешний вид личного кабинета Пользователя

Рисунок 4. Внешний вид личного кабинета Администратора

Угрозы защиты информации

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

SQL-запрос – это запрос, направленный в базу данных для выполнения определенной операции или функции, такой как извлечение данных или исполнение SQL-кода. Например, запрос может осуществлять передачу учетных данных пользователя через веб-форму для доступа к сайту. Обычно подобные веб-формы сконфигурированы таким образом, чтобы принимать только определенные типы данных, такие как имя пользователя и (или) пароль. Введенная информация сверяется с базой данных. Если все совпадает, пользователь сможет войти на сайт. А если нет – в доступе будет отказано.

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

Так как подавляющее большинство веб-сайтов и серверов полагаются на базы данных, SQL-инъекции являются одними из самых давних и распространенных видов кибератак. В сообществе киберпреступников появилось несколько разработок, повышающих вероятность таких атак: прежде всего речь идет об инструментах, которые позволяют обнаружить уязвимое место для SQL-инъекции. Соответствующие утилиты представлены в свободном доступе как проекты с открытым исходным кодом. Достаточно нажать нужную кнопку, и за считаные минуты будет реализована атака, позволяющая заполучить доступ к любой таблице или столбцу базы данных.