Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Классификация атакующего вектора SQL-инъекции по состоянию на 2010 год.

SQL-инъекция - это метод внедрения кода , который используется для атаки приложений, управляемых данными, в которых вредоносные операторы SQL вставляются в поле ввода для выполнения (например, для передачи содержимого базы данных злоумышленнику). [1] SQL-инъекция должна использовать уязвимость системы безопасности в программном обеспечении приложения, например, когда пользовательский ввод неправильно фильтруется для строковых буквальных escape-символов, встроенных в операторы SQL, или пользовательский ввод не строго типизирован и неожиданно выполняется. SQL-инъекция в основном известна как вектор атаки для веб-сайтов, но может использоваться для атаки на любой тип базы данных SQL.

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

В исследовании 2012 года было замечено, что в среднем веб-приложение подвергалось 4 атакам в месяц, а розничные продавцы получали вдвое больше атак, чем другие отрасли. [2]

История [ править ]

Первые публичные обсуждения SQL-инъекций начали появляться примерно в 1998 году; [3] например, статья 1998 года в журнале Phrack Magazine . [4]

Форма [ править ]

SQL-инъекция (SQLI) была признана одной из 10 основных уязвимостей веб-приложений в 2007 и 2010 годах по версии Open Web Application Security Project . [5] В 2013 году SQLI был признан атакой номер один в первой десятке OWASP. [6] Существует четыре основных подкласса SQL-инъекций:

  • Классический SQLI
  • Слепая SQL-инъекция или логический вывод
  • SQLI, специфичный для системы управления базами данных
  • Составной SQLI
  • SQL-инъекция + недостаточная аутентификация [7]
  • SQL-инъекция + DDoS- атаки [8]
  • SQL-инъекция + перехват DNS [9]
  • SQL-инъекция + XSS [10]

Storm Worm это одно представление наполненного SQLI. [11]

Эта классификация отражает состояние SQLI с учетом его эволюции до 2010 г. - в настоящее время ведется дальнейшее уточнение. [12]

Технические реализации [ править ]

Неправильно отфильтрованные escape-символы [ править ]

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

Следующая строка кода иллюстрирует эту уязвимость:

утверждение = " " + имя пользователя + " "SELECT * FROM users WHERE name = '';

Этот код SQL предназначен для извлечения записей указанного имени пользователя из его таблицы пользователей. Однако, если переменная userName определенным образом создана злоумышленником, оператор SQL может сделать больше, чем задумал автор кода. Например, установка переменной userName как:

'ИЛИ' 1 '=' 1

или использовать комментарии, чтобы даже заблокировать остальную часть запроса (есть три типа комментариев SQL [13] ). Все три строки имеют в конце пробел:

'ИЛИ' 1 '=' 1 '-'OR' 1 '=' 1 '{'ИЛИ' 1 '=' 1 '/ * 

отображает на родительском языке один из следующих операторов SQL:

ВЫБРАТЬ  *  ИЗ  пользователей,  ГДЕ  name  =  ''  OR  '1' = '1' ;
ВЫБРАТЬ  *  ИЗ  пользователей,  ГДЕ  name  =  ''  OR  '1' = '1'  - ';

Если бы этот код использовался в процедуре аутентификации, то этот пример можно было бы использовать для принудительного выбора каждого поля данных (*) от всех пользователей, а не от одного конкретного имени пользователя, как предполагал кодировщик, потому что оценка '1' = «1» всегда верно.

Следующее значение «userName» в приведенном ниже утверждении приведет к удалению таблицы «users», а также к выбору всех данных из таблицы «userinfo» (по сути, раскрывая информацию о каждом пользователе) с использованием API, который позволяет несколько операторов:

а ';DROP TABLE users; SELECT * FROM userinfo WHERE 't' = 't

Эти входные данные отображают окончательный оператор SQL следующим образом:

ВЫБРАТЬ  *  ОТ  пользователей  ГДЕ  name  =  'a' ; DROP  TABLE  пользователей ;  ВЫБРАТЬ  *  ОТ  userinfo  WHERE  't'  =  't' ;

В то время как большинство реализаций SQL сервера позволяют несколько операторов , которые будут выполняться один вызов таким образом, некоторые API - интерфейсы SQL , такие как PHP «s mysql_query()функции не позволяют это сделать по соображениям безопасности. Это не позволяет злоумышленникам вводить полностью отдельные запросы, но не мешает им изменять запросы.

Слепая SQL-инъекция [ править ]

Слепая SQL-инъекция используется, когда веб-приложение уязвимо для SQL-инъекции, но результаты инъекции не видны злоумышленнику. Страница с уязвимостью может не отображать данные, но будет отображаться по-разному в зависимости от результатов логического оператора, введенного в законный оператор SQL, вызванный для этой страницы. Этот тип атаки традиционно считался трудоемким, потому что для каждого восстановленного бита нужно было создавать новый оператор, и в зависимости от его структуры атака может состоять из множества неудачных запросов. Недавние достижения позволили каждому запросу восстанавливать несколько битов без неудачных запросов, что обеспечивает более последовательное и эффективное извлечение. [14]Существует несколько инструментов, которые могут автоматизировать эти атаки после определения местоположения уязвимости и информации о цели. [15]

Условные ответы [ править ]

Один тип слепой инъекции SQL заставляет базу данных оценивать логический оператор на обычном экране приложения. Например, веб-сайт рецензии на книгу использует строку запроса, чтобы определить, какую рецензию на книгу отображать. Таким образом, URL-адрес https://books.example.com/review?id=5 заставит сервер запустить запрос

ВЫБРАТЬ  *  ИЗ  обзоров книг  WHERE  ID  =  '5' ;

из которого он будет заполнять страницу обзора данными из обзора с ID 5, хранящимися в таблице bookreviews. Запрос полностью выполняется на сервере; пользователь не знает имен базы данных, таблицы или полей, а также не знает строку запроса. Пользователь видит только то, что указанный выше URL возвращает обзор книги. Хакер может загрузить URL - адрес , и , что может привести к запросамhttps://books.example.com/review?id=5 OR 1=1https://books.example.com/review?id=5 AND 1=2

ВЫБРАТЬ  *  ИЗ  обзоров книг  ГДЕ  ID  =  '5'  ИЛИ  '1' = '1' ; ВЫБРАТЬ  *  ИЗ  обзоров книг  ГДЕ  ID  =  '5'  И  '1' = '2' ;

соответственно. Если исходный обзор загружается с URL-адресом "1 = 1", а по URL-адресу "1 = 2" возвращается пустая страница или страница с ошибкой, а возвращенная страница не была создана для предупреждения пользователя о недопустимом вводе или другом Словом, был обнаружен входным тестовым сценарием, сайт, вероятно, уязвим для атаки с использованием SQL-инъекции, поскольку запрос, скорее всего, будет успешно пройден в обоих случаях. Хакер может продолжить с этой строкой запроса, предназначенной для раскрытия номера версии MySQL, работающей на сервере:, которая покажет обзор книги на сервере, на котором работает MySQL 4, и пустую страницу или страницу с ошибкой в ​​противном случае. Хакер может продолжать использовать код в строках запроса для непосредственного достижения своей цели или для получения дополнительной информации с сервера в надежде обнаружить другое направление атаки.https://books.example.com/review?id=5 AND substring(@@version, 1, INSTR(@@version, '.') - 1)=4[16] [17]

SQL-инъекция второго порядка [ править ]

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

Смягчение [ править ]

SQL-инъекция - это хорошо известная атака, которую легко предотвратить простыми мерами. После явной атаки SQL-инъекции на TalkTalk в 2015 году BBC сообщила, что эксперты по безопасности были ошеломлены тем, что такая крупная компания окажется уязвимой для нее. [18]


Object Relational Mappers [ править ]

Разработчики могут использовать ORM-фреймворки, такие как Hibernate [19], для создания запросов к базе данных безопасным и удобным для разработчиков способом. Поскольку запросы к базе данных больше не строятся в виде строк, опасность инъекции уязвимости отсутствует. [20]

Брандмауэры веб-приложений [ править ]

Хотя продукты WAF, такие как ModSecurity CRS [21], не могут предотвратить проникновение уязвимостей SQL-инъекций в базу кода, они могут значительно усложнить обнаружение и эксплуатацию для злоумышленника.

Обнаружение [ править ]

Фильтрация SQL-инъекций работает аналогично фильтрам спама в электронной почте. Брандмауэры баз данных обнаруживают SQL-инъекции на основе количества недействительных запросов от хоста, наличия блоков OR и UNION внутри запроса или других характеристик. [22]

Параметризованные утверждения [ править ]

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

Проще говоря, использование параметризованных запросов может определенно предотвратить внедрение SQL. В основном это означает, что ваши переменные не являются строками запроса, которые могут принимать произвольные входные данные SQL, однако некоторые параметры данных типов определенно необходимы. Параметризованные запросы требуют от разработчика определения всего кода. Следовательно, без параметризованных запросов любой может ввести в поле любой код SQL и стереть базу данных. Но если бы параметры были установлены на «@username», то человек мог бы только ввести имя пользователя без какого-либо кода. [24]

Обеспечение соблюдения на уровне кодирования [ править ]

Использование объектно-реляционных библиотек сопоставления позволяет избежать написания кода SQL. Фактическая библиотека ORM будет генерировать параметризованные операторы SQL из объектно-ориентированного кода.

Побег [ править ]

Простой, хотя и подверженный ошибкам способ предотвратить инъекции - это экранировать символы, которые имеют особое значение в SQL. В руководстве по СУБД SQL объясняется, какие символы имеют особое значение, что позволяет создать полный черный список символов, требующих перевода. Например, каждое появление одинарной кавычки ( ') в параметре необходимо заменить двумя одинарными кавычками ( ''), чтобы сформировать допустимый строковый литерал SQL. Например, в PHP обычно mysqli_real_escape_string();перед отправкой SQL-запроса параметры экранируются с помощью функции :

$ mysqli  =  новый  mysqli ( 'hostname' ,  'db_username' ,  'db_password' ,  'db_name' ); $ query  =  sprintf ( "ВЫБРАТЬ * ИЗ` Users` WHERE UserName = '% s' AND Password = '% s' " ,  $ mysqli -> real_escape_string ( $ username ),  $ mysqli -> real_escape_string ( $ password )); $ mysqli -> query ( $ query );

Эта функция присоединяет обратные слэши следующих символов: \x00, \n, \r, \, ', "и \x1a. Эта функция обычно используется для защиты данных перед отправкой запроса в MySQL . [25]
PHP имеет аналогичные функции для других систем баз данных, таких как pg_escape_string () для PostgreSQL . Функция addslashes(string $str)работает для экранирования символов и используется особенно для запросов к базам данных, в которых нет функций экранирования в PHP. Он возвращает строку с обратной косой чертой перед символами, которые необходимо экранировать в запросах к базе данных и т. Д. Это символы одинарной кавычки ('), двойной кавычки ("), обратной косой черты (\) и NUL (нулевой байт). [26]
Обычная передача экранированных строк в SQL подвержена ошибкам, потому что легко забыть экранировать данную строку. Создание прозрачного слоя для защиты ввода может снизить вероятность ошибки, если не полностью устранить ее. [27]

Проверка шаблона [ править ]

Целочисленные, числа с плавающей запятой или логические, строковые параметры можно проверить, является ли их значение допустимым представлением для данного типа. Строки, которые должны соответствовать некоторому строгому шаблону (дата, UUID, только буквенно-цифровые и т. Д.), Могут быть проверены, если они соответствуют этому шаблону.

Разрешения базы данных [ править ]

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

Например, в Microsoft SQL Server для входа в базу данных можно было бы ограничить выбор некоторых системных таблиц, что ограничило бы эксплойты, пытающиеся вставить JavaScript во все текстовые столбцы в базе данных.

запретить выбор в sys . sysobjects для входа в веб-базу данных ;     запретить выбор в sys . объекты для входа в веб-базу данных ;     запретить выбор в sys . таблицы в веб-базу данных ;     запретить выбор в sys . просмотры для входа в веб-базу данных ;     запретить выбор в sys . пакеты для входа в веб-базу данных ;     

Примеры [ править ]

  • В феврале 2002 года Джеремия Джекс обнаружил, что Guess.com уязвим для атаки с использованием SQL-инъекции, что позволяет любому, кто может создать правильно созданный URL-адрес, получить 200 000+ имен, номеров кредитных карт и дат истечения срока действия в базе данных клиентов сайта. [28]
  • 1 ноября 2005 г. подросток-хакер использовал SQL-инъекцию, чтобы взломать сайт тайваньского журнала по информационной безопасности из группы Tech Target и украсть информацию клиентов. [29]
  • 13 января 2006 г. российские компьютерные преступники взломали правительственный веб-сайт Род-Айленда и якобы украли данные кредитных карт у лиц, которые вели дела в Интернете с государственными учреждениями. [30]
  • 29 марта 2006 года, хакер обнаружил инъекцию SQL изъяна в официальном индийском правительстве «s туризма сайте. [31]
  • 29 июня 2007 г. компьютерный преступник взломал веб- сайт Microsoft UK с помощью SQL-инъекции. [32] [33] сайт UK The Register со ссылкой на Microsoft пресс - секретаря , признающее проблему.
  • 19 сентября 2007 г. и 26 января 2009 г. турецкая хакерская группа «m0sted» использовала SQL-инъекцию, чтобы использовать SQL Server Microsoft для взлома веб-серверов, принадлежащих McAlester Army Ammunition Plant и Инженерному корпусу армии США соответственно. [34]
  • В январе 2008 года десятки тысяч компьютеров были заражены автоматической атакой с использованием SQL-инъекции, в которой использовалась уязвимость в коде приложения, использующего Microsoft SQL Server в качестве хранилища базы данных. [35]
  • В июле 2008 года , Kaspersky «s малазийский сайт был взломан с помощью„m0sted“хакерской группы с помощью инъекции SQL.
  • 13 апреля 2008 года, сексуальное и Violent Преступник реестра из Оклахомы закрыл свой веб - сайт для « планового технического обслуживания » после того , как сообщил , что 10,597 номера социального страхования , принадлежащие сексуальных преступников были загружены с помощью атаки инъекции SQL [36]
  • В мае 2008 года серверная ферма в Китае использовала автоматизированные запросы к поисковой системе Google для идентификации веб-сайтов SQL-серверов, которые были уязвимы для атаки автоматического инструмента SQL-инъекции. [35] [37]
  • В 2008 году, по крайней мере, с апреля по август, началась серия атак с использованием уязвимостей SQL-инъекций веб-сервера Microsoft IIS и сервера базы данных SQL Server . Атака не требует угадывания имени таблицы или столбца и повреждает все текстовые столбцы во всех таблицах за один запрос. [38] К каждому значению добавляется строка HTML, которая ссылается на файл JavaScript вредоносной программы . Когда это значение базы данных позже отображается посетителю веб-сайта, сценарий пытается несколькими способами получить контроль над системой посетителя. Количество эксплуатируемых веб-страниц оценивается в 500 000. [39]
  • 17 августа 2009 года Министерство юстиции США обвинило американского гражданина Альберта Гонсалеса и двух неназванных россиян в краже 130 миллионов номеров кредитных карт с помощью атаки с использованием SQL-инъекции. Сообщается, что в «крупнейшем случае кражи личных данных в истории Америки» этот человек украл карты у ряда корпоративных жертв после исследования их систем обработки платежей . Среди пострадавших компаний были процессор кредитных карт Heartland Payment Systems , сеть круглосуточных магазинов 7 ‑ Eleven и сеть супермаркетов Hannaford Brothers . [40]
  • В декабре 2009 года злоумышленник взломал базу данных открытого текста RockYou, содержащую незашифрованные имена и пароли примерно 32 миллионов пользователей, используя атаку с использованием SQL-инъекции. [41]
  • В июле 2010 года южноамериканский исследователь безопасности, известный под ником Ch Russo, получил конфиденциальную информацию о пользователях с популярного BitTorrent- сайта The Pirate Bay . Он получил доступ к административной панели управления сайта и воспользовался уязвимостью SQL-инъекции, которая позволила ему собрать информацию об учетных записях пользователей, включая IP-адреса , хэши паролей MD5 и записи торрентов, загруженных отдельными пользователями. [42]
  • С 24 по 26 июля 2010 г. злоумышленники из Японии и Китая использовали SQL-инъекцию, чтобы получить доступ к данным кредитных карт клиентов от Neo Beat, компании из Осаки, которая управляет большим сайтом онлайн-супермаркета. Атака также затронула семь деловых партнеров, включая сети супермаркетов Izumiya Co, Maruetsu Inc и Ryukyu Jusco Co. Кража данных затронула 12 191 покупателя. По состоянию на 14 августа 2010 г. сообщалось, что было зарегистрировано более 300 случаев использования информации о кредитных картах третьими сторонами для покупки товаров и услуг в Китае.
  • 19 сентября во время всеобщих выборов в Швеции в 2010 году избиратель попытался ввести код, написав от руки команды SQL в рамках голосования с записью . [43]
  • 8 ноября 2010 года веб-сайт британского Королевского флота был взломан румынским хакером по имени TinKode с использованием SQL-инъекции. [44] [45]
  • 5 февраля 2011 года компания HBGary , занимающаяся технологической безопасностью, была взломана LulzSec с помощью SQL-инъекции на своем веб-сайте, управляемом CMS [46]
  • 27 марта 2011 г. официальная домашняя страница MySQL www.mysql.com была взломана хакером, использовавшим слепую инъекцию SQL [47]
  • 11 апреля 2011 года Barracuda Networks была взломана с помощью SQL-инъекции. Среди полученной информации были адреса электронной почты и имена пользователей сотрудников. [48]
  • 27 апреля 2011 года в течение 4 часов на веб-сайте Broadband Reports произошла автоматическая атака с использованием SQL-инъекции , в результате которой удалось извлечь 8% пар имени пользователя и пароля: 8 000 случайных учетных записей из 9 000 активных и 90 000 старых или неактивных учетных записей. [49] [50] [51]
  • 1 июня 2011 года « хактивистов » из группы LulzSec обвинили в использовании SQLI для кражи купонов , ключей загрузки и паролей, которые хранились в виде открытого текста на веб-сайте Sony , обеспечивая доступ к личной информации миллиона пользователей. [52]
  • В июне 2011 года PBS была взломана LulzSec, скорее всего, с помощью SQL-инъекции; полный процесс, используемый хакерами для выполнения SQL-инъекций, был описан в этом блоге Imperva . [53]
  • В мае 2012 года веб-сайт Wurm Online , многопользовательской онлайн-игры , был закрыт из-за SQL-инъекции во время обновления сайта. [54]
  • В июле 2012 года сообщалось, что группа хакеров украла 450 000 учетных данных для входа в Yahoo! . Логины хранились в виде обычного текста и предположительно были взяты из поддомена Yahoo , Yahoo! Голоса . Группа взломала систему безопасности Yahoo, используя « технику SQL-инъекции на основе объединения ». [55] [56]
  • 1 октября 2012 года хакерская группа под названием «Team GhostShell» опубликовала личные записи студентов, преподавателей, сотрудников и выпускников из 53 университетов, включая Гарвард , Принстон , Стэнфорд , Корнелл , Джона Хопкинса и Цюрихский университет на pastebin. com . Хакеры утверждали, что они пытались «привлечь внимание к изменениям, произошедшим в сегодняшнем образовании», оплакивая изменение законов об образовании в Европе и увеличение платы за обучение в Соединенных Штатах . [57]
  • В феврале 2013 года группа мальдивских хакеров взломала сайт «ООН-Мальдивы» с помощью SQL Injection.
  • 27 июня 2013 года хакерская группа « RedHack » взломала сайт администрации Стамбула. [58] Они утверждали, что смогли списать долги людей перед компаниями за воду, газ, Интернет, электричество и телефонную связь. Кроме того, они опубликовали имя пользователя и пароль администратора, чтобы другие граждане могли войти в систему и погасить свои долги рано утром. Они объявили новости из Twitter. [59]
  • 4 ноября 2013 года группа хактивистов «RaptorSwag» якобы взломала 71 государственную базу данных Китая с помощью атаки SQL-инъекции на Китайскую международную торговую палату. Утечка данных была опубликована публично в сотрудничестве с Anonymous . [60]
  • 2 февраля 2014 г. на AVS TV произошла утечка 40 000 учетных записей хакерской группы под названием @deletesec [61]
  • 21 февраля 2014 года на Форуме по управлению Интернетом Организации Объединенных Наций произошла утечка данных 3215 учетных записей. [62]
  • 21 февраля 2014 года хакеры из группы под названием @deletesec взломали Spirol International после того, как якобы пригрозили арестовать хакеров за сообщение об уязвимости системы безопасности. В ходе этого конфликта было раскрыто 70 000 пользовательских данных. [63]
  • 7 марта 2014 года официальные лица Университета Джона Хопкинса публично объявили, что их серверы биомедицинской инженерии стали жертвой атаки с использованием SQL-инъекции, осуществленной анонимным хакером по имени «Хуки» и связанным с группой хактивистов «RaptorSwag». Хакеры взломали личные данные 878 студентов и сотрудников, разместив пресс-релиз и утечку данных в Интернете. [64]
  • В августе 2014 года компания по компьютерной безопасности Hold Security из Милуоки сообщила, что раскрыла кражу конфиденциальной информации с почти 420 000 веб-сайтов с помощью SQL-инъекций. [65] The New York Times подтвердила этот вывод, наняв эксперта по безопасности для проверки заявления. [66]
  • В октябре 2015 года атака с использованием SQL-инъекции была использована для кражи личных данных 156 959 клиентов с серверов британской телекоммуникационной компании TalkTalk с использованием уязвимости на устаревшем веб-портале. [67]
  • В августе 2020 года для доступа к информации о романтических интересах многих студентов Стэнфорда была использована атака с использованием SQL-инъекций из-за небезопасных стандартов очистки данных со стороны Link, стартапа, основанного в кампусе студентом Ишаном Ганди. [68]

В популярной культуре [ править ]

  • Несанкционированный вход на веб-сайты с помощью SQL-инъекции лежит в основе одного из сюжетов романа Дж. К. Роулинг « Случайная вакансия» 2012 года .
  • В мультфильме xkcd задействован персонаж Роберт '); DROP TABLE студенты; - названы для выполнения SQL-инъекции. В результате этого мультфильма SQL-инъекция иногда неофициально называют «таблицами Бобби». [69] [70]
  • В 2014 году человек в Польше юридически переименовал свой бизнес в Dariusz Jakubowski x '; Пользователи DROP TABLE; SELECT '1 в попытке сорвать работу спамеров уборочных ботов . [71]
  • В игре Hacknet 2015 года есть программа для взлома SQL_MemCorrupt. Он описывается как введение записи таблицы, которая вызывает ошибку повреждения в базе данных SQL, затем запрашивает указанную таблицу, вызывая сбой базы данных SQL и дамп ядра.
  • В эпизоде `` Звездный путь: открытие '' 2019 года, если память обслуживает командир Айриам обнаружила, что зонд, атаковавший хранилище данных на одном из шаттлов корабля, сделал ряд инъекций SQL, но она не смогла найти никаких скомпрометированных файлов.

См. Также [ править ]

  • Внедрение кода
  • Межсайтовый скриптинг
  • Проект Metasploit
  • OWASP Open Web Application Security Project
  • Объект SGML
  • Строка неконтролируемого формата
  • w3af
  • Безопасность веб-приложений

Ссылки [ править ]

  1. ^ Microsoft. «SQL-инъекция» . Архивировано 2 августа 2013 года . Проверено 4 августа 2013 года . SQL-инъекция - это атака, при которой вредоносный код вставляется в строки, которые позже передаются в экземпляр SQL Server для анализа и выполнения. Любая процедура, которая создает операторы SQL, должна быть проверена на наличие уязвимостей внедрения, поскольку SQLi Server будет выполнять все синтаксически допустимые запросы, которые он получает. Даже параметризованные данные могут использоваться опытным и решительным злоумышленником.
  2. ^ Imperva (июль 2012). «Отчет об атаках на веб-приложение Imperva» (PDF) . Архивировано 7 сентября 2013 года (PDF) . Проверено 4 августа 2013 года . Розничные торговцы страдают от атак SQL-инъекций в 2 раза больше, чем другие отрасли. / Хотя большинство веб-приложений подвергаются 4 и более кампаниям веб-атак в месяц, некоторые веб-сайты постоянно подвергаются атакам. / Один наблюдаемый веб-сайт подвергался атакам 176 из 180 дней, или 98% времени.
  3. Шон Майкл Кернер (25 ноября 2013 г.). «Как была обнаружена SQL-инъекция? Исследователь, когда-то известный как Рейн Форрест Пуппи, объясняет, как он обнаружил первую SQL-инъекцию более 15 лет назад» . Архивировано 18 марта 2014 года.
  4. ^ Джефф Forristal (подписание в rain.forest.puppy) (25 декабря 1998). «Уязвимости веб-технологий NT» . Журнал Phrack . 8 (54 (статья 8)). Архивировано 19 марта 2014 года.
  5. ^ «Категория: Проект первой десятки OWASP» . OWASP. Архивировано 19 мая 2011 года . Проверено 3 июня 2011 года .
  6. ^ «Категория: Проект первой десятки OWASP» . OWASP. Архивировано 9 октября 2013 года . Проверено 13 августа 2013 года .
  7. ^ «WHID 2007-60: взломан блог группы безопасности Кембриджского университета» . Сиом. Архивировано из оригинального 19 июня 2011 года . Проверено 3 июня 2011 года .
  8. ^ "WHID 2009-1: Кибервойна конфликта в Газе" . Сиом. Архивировано из оригинального 7 -го октября 2011 года . Проверено 3 июня 2011 года .
  9. ^ «Список инцидентов веб-взлома: перехват DNS» . Сиом. Архивировано из оригинала 18 июня 2009 года.
  10. ^ «Третья волна веб-атак не последняя» . Темное чтение . Проверено 29 июля 2012 года .
  11. ^ Данчев, Даий (23 января 2007). «Информационные потоки знаний по информационной безопасности: социальная инженерия и вредоносное ПО» . Ddanchev.blogspot.com. Архивировано 21 июля 2011 года . Проверено 3 июня 2011 года .
  12. ^ Дельчев, Крассен. «Новые атаки Web 2.0» . B.Sc. Диссертация . Рурский университет Бохума . Проверено 18 февраля 2010 года .
  13. ^ «Как вводить комментарии SQL», IBM Informix Guide to SQL: Syntax (PDF) , IBM, стр. 13–14 , получено 4 июня 2018 г.
  14. ^ «Извлечение нескольких битов на запрос из уязвимостей полностью слепой инъекции SQL» . Взломайте все. Архивировано из оригинала 8 июля 2016 года . Проверено 8 июля, 2016 .
  15. ^ «Использование SQLBrute для перебора данных из точки слепого внедрения SQL» . Джастин Кларк. Архивировано из оригинального 14 июня 2008 года . Проверено 18 октября 2008 года .
  16. ^ macd3v. «Учебник по слепому внедрению SQL» . Архивировано из оригинального 14 декабря 2012 года . Проверено 6 декабря 2012 года .
  17. ^ Андрей Рассохин; Дмитрий Олексюк. «Ботнет TDSS: полное раскрытие» . Архивировано из оригинала 9 декабря 2012 года . Проверено 6 декабря 2012 года .
  18. ^ «Вопросы для TalkTalk - BBC News» . BBC News . Архивировано 26 октября 2015 года . Проверено 26 октября 2015 года .
  19. ^ "Гибернация" . hibernate.org . Проверено 24 февраля 2021 года .
  20. ^ «Атаки и предотвращение SQL-инъекций: Полное руководство» . appsecmonkey.com . Проверено 24 февраля 2021 года .
  21. ^ «ModSecurity: Правила» . modsecurity.org . Проверено 24 февраля 2021 года .
  22. ^ Безопасность, DataSunrise (1 февраля 2019 г.). «Методы обнаружения SQL-инъекций» . Безопасность базы данных DataSunrise . Проверено 28 августа 2019 года .
  23. ^ «Памятка по предотвращению внедрения SQL-кода» . Откройте проект безопасности веб-приложений. Архивировано 20 января 2012 года . Проверено 3 марта 2012 года .
  24. Безопасность, Пента (26 мая 2016 г.). «Что такое SQL-инъекция и как ее предотвратить?» . Penta Security Systems Inc . Проверено 8 августа 2019 года .
  25. ^ "mysqli-> real_escape_string - Руководство по PHP" . PHP.net . Проверено 11 октября 2013 года .
  26. ^ «Добавляет косые черты - Руководство по PHP» . PHP.net. Архивировано из оригинального 5 сентября 2011 года.
  27. ^ "Прозрачный слой запросов для MySQL" . Роберт Эйзеле. 8 ноября 2010 года. Архивировано 11 ноября 2010 года.
  28. ^ "Отчеты о веб-дырах в гаданиях" . SecurityFocus . 6 марта 2002 года. Архивировано 9 июля 2012 года.
  29. ^ «WHID 2005-46: Подросток использует SQL-инъекцию для взлома веб-сайта журнала по безопасности» . Консорциум безопасности веб-приложений. 1 ноября 2005 года в архив с оригинала на 17 января 2010 года . Проверено 1 декабря 2009 года .
  30. ^ «WHID 2006-3: российские хакеры взломали сайт правительства РИ» . Консорциум безопасности веб-приложений. 13 января 2006 года Архивировано из оригинального 13 февраля 2011 года . Проверено 16 мая 2008 года .
  31. ^ "WHID 2006-27: SQL-инъекция в incredibleindia.org" . Консорциум безопасности веб-приложений. 29 марта 2006 года в архив с оригинала на 1 июля 2009 года . Проверено 12 марта 2010 года .
  32. Роберт (29 июня 2007 г.). «Хакер изводит веб-страницу Microsoft в Великобритании» . cgisecurity.net . Проверено 16 мая 2008 года .
  33. Кейт Уорд (29 июня 2007 г.). «Хакер изводит веб-страницу Microsoft в Великобритании» . Торговый партнер Redmond Online. Архивировано из оригинала 23 декабря 2007 года . Проверено 16 мая 2008 года .
  34. ^ «Анти-американские хакеры проникают на серверы армии» . Информационная неделя . 29 мая 2009 года. Архивировано 20 декабря 2016 года . Проверено 17 декабря 2016 года .
  35. ^ a b Самнер Лемон, Служба новостей IDG (19 мая 2008 г.). «Массовая атака с использованием SQL-инъекций нацелена на китайские веб-сайты» . PCWorld . Проверено 27 мая 2008 года .
  36. Алекс Пападимулис (15 апреля 2008 г.). «Оклахома утекает десятки тысяч номеров социального страхования, другие конфиденциальные данные» . Ежедневный WTF . Архивировано 10 мая 2008 года . Проверено 16 мая 2008 года .
  37. Майкл Зино (1 мая 2008 г.). «Автоматическая атака внедрения кода SQL с кодировкой ASCII / двоичной строкой» . Архивировано 1 июня 2008 года.
  38. ^ Giorgio Maone (26 апреля 2008). "Часто задаваемые вопросы о массовых атаках" . Архивировано 14 сентября 2008 года.
  39. ^ Грегг Кейзер (25 апреля 2008 г.). «Огромная веб-хакерская атака заражает 500 000 страниц» . Архивировано 19 октября 2015 года . Проверено 16 октября 2015 года .
  40. ^ «США мужчина„украл 130M номера карты » . BBC. 17 августа 2009 года. Архивировано 18 августа 2009 года . Проверено 17 августа 2009 года .
  41. ^ О'Делл, Джоли (16 декабря 2009). «RockYou Hacker - 30% сайтов хранят пароли в виде простого текста» . Нью-Йорк Таймс . Проверено 23 мая 2010 года .
  42. ^ "Атака пиратской бухты" . 7 июля 2010 года. Архивировано 24 августа 2010 года.
  43. ^ "Маленькие столы Бобби мигрировали в Швецию?" . Alicebobandmallory.com. Архивировано 1 июля 2012 года . Проверено 3 июня 2011 года .
  44. ^ Веб-сайт Королевского флота атакован румынским хакером. Архивировано 9 ноября 2010 г. в Wayback Machine BBC News , 8-11-10, по состоянию на ноябрь 2010 г.
  45. Сэм Кили (25 ноября 2010 г.). «Супервирус - мишень для кибертеррористов» . Архивировано 28 ноября 2010 года . Проверено 25 ноября 2010 года .
  46. ^ «Мы анонимны: внутри хакерского мира LulzSec» (PDF) . Литтл, Браун и компания. Архивировано из оригинального (PDF) 18 июля 2012 года.
  47. ^ "MySQL.com взломан" . сукури . Архивировано 31 марта 2011 года.
  48. ^ «Хакер взламывает базу данных Barracuda Networks» . Архивировано из оригинального 27 июля 2011 года.
  49. ^ "Информация о взломе пароля пользователя сайта" . Dslreports.com. Архивировано 18 октября 2012 года . Проверено 3 июня 2011 года .
  50. ^ "DSLReports сообщает, что информация о членах украдена" . Cnet Новости. 28 апреля 2011 года. Архивировано 21 марта 2012 года . Проверено 29 апреля 2011 года .
  51. ^ «Взлом DSLReports.com выявил более 100 000 аккаунтов» . Технический вестник. 29 апреля 2011 года в архив с оригинала на 30 апреля 2011 года . Проверено 29 апреля 2011 года .
  52. ^ «LulzSec взламывает Sony Pictures, обнаруживает 1 миллион незащищенных паролей» , electronicista.com , 2 июня 2011 г., архивировано из оригинала 6 июня 2011 г. , получено 3 июня 2011 г.
  53. ^ «Imperva.com: PBS Hacked - Как это, вероятно, сделали хакеры» . Архивировано 29 июня 2011 года . Проверено 1 июля 2011 года .
  54. ^ «Wurm Online находится в процессе реструктуризации» . 11 мая 2012 года. Архивировано 22 мая 2012 года.
  55. ^ Chenda Ngak. «Yahoo, как сообщается, взломан: безопасна ли ваша учетная запись?» Архивировано 14 июля 2012 года в Wayback Machine , CBS News. 12 июля 2012 г. Проверено 16 июля 2012 г.
  56. Яп, Джейми (12 июля 2012 г.). «450000 паролей пользователей просочились в Yahoo» . ZDNet . Архивировано 2 июля 2014 года . Проверено 18 февраля 2017 года .
  57. ^ Perlroth, Nicole (3 октября 2012). «Хакеры взламывают 53 университета и сбрасывают в Интернет тысячи личных рекордов» . Нью-Йорк Таймс . Архивировано 5 октября 2012 года.
  58. ^ «RedHack взламывает сайт администрации Стамбула, хакеры утверждают, что стерли долги» . Архивировано 29 июня 2013 года.
  59. ^ @RedHack_EN (27 июня 2013 г.). «Открыт для взлома. Один из пользователей сайта губернатора Стамбула: 'or =' Pass: 'or =' Сайт: ioi.gov.tr/fatura/login.php pic.twitter.com/ZEHBFJLVfT» (твит). Архивировано из оригинального 12 августа 2016 года - через Twitter .
  60. Ковач, Эдуард (4 ноября 2013 г.). «Хакеры утекают данные, предположительно украденные с веб-сайта Китайской торговой палаты» . Новости Софтпедии . Архивировано 2 марта 2014 года . Проверено 27 февраля 2014 года .
  61. ^ "Утечка 40 000 аккаунтов AVS TV" . Maurihackers. Архивировано 19 февраля 2015 года . Проверено 19 февраля 2015 года .
  62. ^ "Нарушенный Форум управления Интернетом Организации Объединенных Наций" . 21 февраля, 2014. Архивировано из оригинального 19 -го февраля 2015 года . Проверено 19 февраля 2015 года .
  63. Ковач, Эдуард (21 февраля 2014 г.). «Подробная информация о 70 000 пользователей, просочившихся хакерами из систем SPIROL International» . Новости Софтпедии . Архивировано 19 февраля 2015 года . Проверено 19 февраля 2015 года .
  64. Dance, Скотт (7 марта 2014 г.). «Хакер взламывает сервер Hopkins, но официальные лица говорят, что кража личных данных не вызывает опасений» . Балтиморское солнце . Архивировано 14 апреля 2014 года . Проверено 14 апреля 2014 года .
  65. ^ Деймон Поэтер. «Сплоченная» российская хакерская банда хранит 1,2 миллиарда удостоверений личности. Заархивировано 14 июля 2017 г. в Wayback Machine , журнал PC , 5 августа 2014 г.
  66. ^ Николь Перлрот. Российская банда накопила более миллиарда интернет-паролей. Архивировано 27 февраля 2017 года в Wayback Machine , The New York Times , 5 августа 2014 года.
  67. ^ «TalkTalk получает рекордный штраф в размере 400 000 фунтов стерлингов за неспособность предотвратить атаку в октябре 2015 года» . 5 октября 2016 года Архивировано из оригинального 24 -го октября 2016 года . Проверено 23 октября 2016 года .
  68. Катания, Сэм (13 августа 2020 г.). «Уязвимость на веб-сайте Link могла раскрыть данные о влюбленности студентов Стэнфорда» . Stanfort Daily . Проверено 5 сентября 2020 года .
  69. ^ Манро, Рэндалл. «XKCD: Подвиги мамы» . Архивировано 25 февраля 2013 года . Проверено 26 февраля 2013 года .
  70. ^ «Руководство Bobby Tables по внедрению SQL» . Архивировано 7 ноября 2017 года . Проверено 30 октября 2017 года .
  71. ^ "Jego firma ma w nazwie SQL инъекция. Nie zazdrościmy tym, którzy będą go fakturowali;)" . Niebezpiecznik (на польском языке). 11 сентября 2014 года. Архивировано 24 сентября 2014 года . Проверено 26 сентября 2014 года .

Внешние ссылки [ править ]

  • База знаний по внедрению SQL , автор: Websec.
  • WASC Threat Classification - SQL Injection Entry , Консорциум безопасности веб-приложений.
  • Почему SQL-инъекция не исчезнет , Стюарт Томас.
  • SDL Краткие справочники по безопасности при внедрении SQL, автор Бала Нерумалла.
  • Как работают недостатки безопасности: SQL-инъекция