Добро пожаловать обратно, мои начинающие кибервоины!
По данным проекта Open Web Application Security Project (OWASP), внедрение команд неизменно является одной из самых серьёзных и многочисленных атак на веб-приложения. Кроме того, эти атаки обычно наносят серьёзный финансовый ущерб компаниям и другим организациям, поскольку направлены на базы данных, где хранится огромное количество ценной информации, такой как номера кредитных карт и персональные данные (PII).
Топ -10 OWASP
Хотя существует множество векторов атак на базы данных, наиболее распространённым является SQL-инъекция. SQL-инъекция отправляет SQL-команды из веб-формы в базу данных на сервере.
Если эти команды SQL не очищаются на уровне клиента (браузера), они могут перейти в базу данных и посеять хаос, включая:
Кавычки
Одинарная кавычка ('): часто используется для завершения строковых литералов.
Двойная кавычка («): также может использоваться для завершения строковых литералов в некоторых базах данных.
Последовательности комментариев :
Двойной тире (–): это комментарий SQL, который может использоваться для аннулирования оставшейся части запроса.
Решетка (#): в MySQL это альтернативный способ закомментировать остальную часть запроса.
Слэш-звездочка (/* … */): Многострочный комментарий.
Может использоваться для комментирования частей или всего запроса.
Операторы и команды:
Точка с запятой (
: обозначает конец одного запроса и начало другого.
Логические операторы: И, ИЛИ.
Функции управления: UNION, UNION ALL.
Булевы значения
TRUE или 1=1: всегда оценивается как true и может использоваться для управления предложениями WHERE.
ЛОЖЬ или 1=0: всегда оценивается как ложь
Функции задержки времени
SLEEP(x): в MySQL вызывает задержку на x секунд.
WAITFOR DELAY 'hh:mm:ss': в SQL Server вызывает задержку.
pg_sleep(x): в PostgreSQL вызывает задержку на x секунд.
Поиск информации
@@version: Возвращает версию базы данных (работает во многих базах данных).
CURRENT_USER: Возвращает текущего пользователя.
Шестнадцатеричное кодирование
Злоумышленники могут кодировать свои полезные данные в шестнадцатеричном формате, чтобы обойти наивные фильтры.
джокеры
Знак процента (%): представляет ноль или более символов в предложениях SQL LIKE. Этот знак использовался в недавней атаке MoveIT, проводимой C|op.
Специальные функции
CONCAT(): используется для объединения строк в SQL.
CAST(), CONVERT(): используются для преобразования типов.
ASCII(), CHAR(): Функции для получения значений или символов ASCII, могут использоваться в слепом SQLi.
Подвыборки и запросы метаданных
SELECT … FROM information_schema.tables: используется в таких базах данных, как MySQL и PostgreSQL, для сбора метаданных о таблицах.
SELECT … FROM sysobjects …: используется в SQL Server для сбора метаданных.
Краткое содержание
Атаки с использованием инъекций через веб-формы, приводящие к краже данных из баз данных, являются одними из самых серьёзных видов атак, угрожающих безопасности веб-сайтов. Эти атаки на базы данных используют SQLi-атаки, при которых SQL-команды отправляются в базу данных на основе несанкционированных входных данных клиента (браузера). Хотя SQLi-атаки становятся всё более сложными, для их успешной реализации в эпоху повышенного внимания к безопасности необходимо глубокое понимание SQL.
По данным проекта Open Web Application Security Project (OWASP), внедрение команд неизменно является одной из самых серьёзных и многочисленных атак на веб-приложения. Кроме того, эти атаки обычно наносят серьёзный финансовый ущерб компаниям и другим организациям, поскольку направлены на базы данных, где хранится огромное количество ценной информации, такой как номера кредитных карт и персональные данные (PII).
Топ -10 OWASP
Хотя существует множество векторов атак на базы данных, наиболее распространённым является SQL-инъекция. SQL-инъекция отправляет SQL-команды из веб-формы в базу данных на сервере.
Если эти команды SQL не очищаются на уровне клиента (браузера), они могут перейти в базу данных и посеять хаос, включая:
- Данные эксфильтрации
- Удалить данные
- Добавить данные
- Обновление данных
Кавычки
Одинарная кавычка ('): часто используется для завершения строковых литералов.
Двойная кавычка («): также может использоваться для завершения строковых литералов в некоторых базах данных.
Последовательности комментариев :
Двойной тире (–): это комментарий SQL, который может использоваться для аннулирования оставшейся части запроса.
Решетка (#): в MySQL это альтернативный способ закомментировать остальную часть запроса.
Слэш-звездочка (/* … */): Многострочный комментарий.
Может использоваться для комментирования частей или всего запроса.
Операторы и команды:
Точка с запятой (
Логические операторы: И, ИЛИ.
Функции управления: UNION, UNION ALL.
Булевы значения
TRUE или 1=1: всегда оценивается как true и может использоваться для управления предложениями WHERE.
ЛОЖЬ или 1=0: всегда оценивается как ложь
Функции задержки времени
SLEEP(x): в MySQL вызывает задержку на x секунд.
WAITFOR DELAY 'hh:mm:ss': в SQL Server вызывает задержку.
pg_sleep(x): в PostgreSQL вызывает задержку на x секунд.
Поиск информации
@@version: Возвращает версию базы данных (работает во многих базах данных).
CURRENT_USER: Возвращает текущего пользователя.
Шестнадцатеричное кодирование
Злоумышленники могут кодировать свои полезные данные в шестнадцатеричном формате, чтобы обойти наивные фильтры.
джокеры
Знак процента (%): представляет ноль или более символов в предложениях SQL LIKE. Этот знак использовался в недавней атаке MoveIT, проводимой C|op.
Специальные функции
CONCAT(): используется для объединения строк в SQL.
CAST(), CONVERT(): используются для преобразования типов.
ASCII(), CHAR(): Функции для получения значений или символов ASCII, могут использоваться в слепом SQLi.
Подвыборки и запросы метаданных
SELECT … FROM information_schema.tables: используется в таких базах данных, как MySQL и PostgreSQL, для сбора метаданных о таблицах.
SELECT … FROM sysobjects …: используется в SQL Server для сбора метаданных.
Краткое содержание
Атаки с использованием инъекций через веб-формы, приводящие к краже данных из баз данных, являются одними из самых серьёзных видов атак, угрожающих безопасности веб-сайтов. Эти атаки на базы данных используют SQLi-атаки, при которых SQL-команды отправляются в базу данных на основе несанкционированных входных данных клиента (браузера). Хотя SQLi-атаки становятся всё более сложными, для их успешной реализации в эпоху повышенного внимания к безопасности необходимо глубокое понимание SQL.