Рубрики

SQL-инъекция

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

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

Использование SQL-инъекций в веб-приложениях

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

Пример SQL-инъекции
Предположим, у нас есть приложение, основанное на студенческих записях. Любой студент может просматривать только свои собственные записи, введя уникальный и личный идентификатор студента. Предположим, у нас есть поле, как показано ниже:
Студенческий билет:

И студент вводит следующее в поле ввода:
12222345 или 1 = 1 .

Так что это в основном означает:

SELECT * from STUDENT where 
STUDENT-ID == 12222345 or 1 = 1

Теперь эта 1 = 1 вернет все записи, для которых это верно. Таким образом, в основном, все данные студента скомпрометированы. Теперь злоумышленник также может удалить записи ученика аналогичным образом.

Рассмотрим следующий запрос SQL.

SELECT * from USER where 
USERNAME = “” and PASSWORD=”” 

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

Select * from User where 
(Username = “” or 1=1) AND 
(Password=”” or 1=1).

Поскольку 1 = 1 всегда выполняется, пользовательские данные подвергаются риску.

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

Предотвращение SQL-инъекций

  • Аутентификация пользователя: проверка ввода от пользователя путем предварительного определения длины, типа ввода, поля ввода и аутентификации пользователя.
  • Ограничение прав доступа пользователей и определение объема данных, доступ к которому любой посторонний может получить из базы данных. По сути, пользователю не должно быть предоставлено разрешение на доступ ко всему в базе данных.
  • Не используйте учетные записи системного администратора.

Базовое SQL-внедрение и смягчение последствий с примером

Рекомендуемые посты:

SQL-инъекция

0.00 (0%) 0 votes