Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 22(318)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8

Библиографическое описание:
Прокопенко Т.А., Васильков Е.А. СОВРЕМЕННЫЕ СПОСОБЫ ЗАЩИТЫ ОТ SQLI НА PYTHON И C# // Студенческий: электрон. научн. журн. 2025. № 22(318). URL: https://sibac.info/journal/student/318/380767 (дата обращения: 26.06.2025).

СОВРЕМЕННЫЕ СПОСОБЫ ЗАЩИТЫ ОТ SQLI НА PYTHON И C#

Прокопенко Тихон Александрович

студент, кафедра программного обеспечения информационных технологий, Белорусско-Российский университет,

РБ, г. Могилёв

Васильков Евгений Александрович

студент, кафедра программного обеспечения информационных технологий, Белорусско-Российский университет,

РБ, г. Могилёв

Сергиенко Ольга Валерьевна

научный руководитель,

старший преподаватель, Белорусско-Российский университет,

РБ, г. Могилёв

MODERN WAYS TO PROTECT YOU FROM SQLI

 

Tihon Prokopenko

student, Department of Software of Information Technologies, Belarusian-Russian University,

Belarus, Mogilev

Evgeny Vasilkov

student, Department of Software of Information Technologies, Belarusian-Russian University,

Belarus, Mogilev

Olga Sergienko

scientific supervisor, senior lecture, Belarusian-Russian University,

Belarus, Mogilev

 

АННОТАЦИЯ

В данной работе рассматриваются современные методы защиты приложений от SQL инъекций (SQLi), одной из наиболее распространённых и критических уязвимостей, позволяющих злоумышленникам получить несанкционированный доступ к базам данных. В работе представлены примеры реализации безопасного взаимодействия с базами данных на языках Python и C#, включая использование параметризованных запросов и технологий ORM. Приведены примеры уязвимого и защищённого кода, а также результаты тестирования защиты при попытках SQL инъекций.

ABSTRACT

This paper discusses modern methods of protecting applications from SQL injections (SQLi), one of the most common and critical vulnerabilities that allow attackers to gain unauthorized access to databases. The paper presents examples of implementing secure interaction with databases in Python and C#, including the use of parameterized queries and ORM technologies. Examples of vulnerable and protected code are given, as well as the results of testing protection against SQL injection attempts.

 

Ключевые слова: SQL инъекции, защита приложений, параметризованные запросы, ORM, безопасность баз данных.

Keywords: SQL injections, application protection, parameterized queries, ORM, database security.

 

Введение

SQL инъекции (SQLi) по-прежнему остаются одной из наиболее распространённых и критических уязвимостей веб-приложений. Злоумышленники могут использовать данную уязвимость для несанкционированного доступа к базам данных, что может привести к раскрытию конфиденциальной информации, её модификации или удалению. Согласно рейтингу OWASP Top 10, SQLi продолжает оставаться актуальной угрозой в области информационной безопасности. [4]

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

На сегодняшний день одними из самых эффективных методов защиты от SQL-инъекций являются использование параметризованных запросов и применение ORM (Object-Relational Mapping), которые минимизируют риск ошибок, связанных с неправильным формированием SQL-запросов. В рамках данной работы рассматриваются современные подходы к защите от SQL-инъекций на примере языков Python и C#, а также демонстрируется разница между уязвимым и защищённым кодом.

Целью исследования является анализ современных способов защиты от SQL-инъекций и практическая проверка на языках Python и C#.

Защита на python

Примеры уязвимых и защищённых кодов с выводом результатов на python:

 

Рисунок 1. Пример уязвимого кода на python

 

Рисунок 2. Успешное использование уязвимости на python

 

Рисунок 3. Пример защищённого кода на python

 

Рисунок 4. Отказ системы при попытке SQL-инъекции на python

 

Рисунок 5. Пример защищённого кода на python c использованием ORM

 

Рисунок 6. Отказ системы при попытке SQL-инъекции на python с использованием ORM

 

Современные фреймворки на Python предоставляют инструменты для обеспечения безопасности при работе с SQL запросами как на уровне ORM, так и при использовании «сырых» SQL запросов. [3]

Зашита на C#

Примеры уязвимых и защищённых кодов с выводом результатов на C#: [1]

 

Рисунок 7. Пример уязвимого кода на C#

 

Рисунок 8. Успешное использование уязвимости на C#

 

Рисунок 9. Пример защищённого кода на C#

 

Рисунок 10. Отказ системы при попытке SQL-инъекции на C#

 

Рисунок 11. Пример защищённого кода на C# c использованием ORM

 

Рисунок 12. Отказ системы при попытке SQL-инъекции на python с использованием ORM

 

Современные фреймворки на C# предоставляют инструменты для обеспечения безопасности при работе с SQL запросами как на уровне ORM, так и при использовании «сырых» SQL запросов.[2]

Заключение

В работе были рассмотрены современные способы защиты от SQL-инъекций, такие как использование параметризованных запросов и ORM (Object-Relational Mapping). Демонстрация уязвимого и защищённого кода на языках Python и C# показала эффективность этих методов. Параметризованные запросы предотвращают выполнение вредоносного SQL-кода, отделяя данные от команд, а ORM обеспечивает дополнительный уровень абстракции и автоматически обрабатывает безопасность запросов.

Кроме того, современные фреймворки, такие как SQLAlchemy для Python и Entity Framework для C#, предоставляют мощные инструменты для безопасной работы с базами данных, минимизируя риск возникновения уязвимостей.

 

Список литературы:

  1. ADO.NET и C# | Подключение к базе данных SQLite. – URL: https://metanit.com/sharp/adonetcore/4.1.php (дата обращения: 16.06.2025). – Текст : электронный.
  2. C# и WPF | Работа с SQLite через Entity Framework. – URL: https://metanit.com/sharp/wpf/21.1.php (дата обращения: 16.06.2025). – Текст : электронный.
  3. Python и базы данных | Основные операции с данными в SQLAlchemy. – URL: https://metanit.com/python/database/3.3.php (дата обращения: 16.06.2025). – Текст : электронный.
  4. OWASP Top Ten | OWASP Foundation. – URL: https://owasp.org/www-project-top-ten/ (дата обращения: 15.06.2025). – Текст : электронный.

Оставить комментарий