• Категории
  • Подписка
  • Разместить статью
02/10/11 5 2697 Использование SQL-инъекций
-

Проверка WEB-сервера на уязвимость с помощью SQL-запросов

Технология, называемая внедрением SQL (SQL injection), может реализовываться как в виде простого внедрения символов, вызывающих ошибки, так и в виде выполнения произвольных запросов из командной строки. Продукты практически всех поставщиков баз данных могут под­вергаться взломам данного типа. Этот изъян проявляется в SQL-запросах и соответствующих программных интерфейсах, предназначенных для поддержки таких запросов: ASP, PHP, Perl, a также любой другой язык программирования для Web. И, независимо от технологии, при небольшой модификации SQL легко можно использовать для взлома любых других серверов баз данных.

При внедрении SQL-запросов чаще всего используется символ одинарной кавычки (’). Поэтому для поиска возможности взлома можно, прежде всего, попытаться использовать этот символ. В структуре SQL-запроса одинарная кавычка обычно используется для отделения пе­ременных, передаваемых в запросе от самого запроса:

strSQL = “select userid from users where password = ’ ” + password + “ ’ ”.

Ниже в таблице приведен список других часто употребляемых символов, предназначенных для форматирования SQL-запросов. С помощью таких символов можно осуществлять проверку SQL-сервера на наличие изъянов. Проверка Web-узла с использованием этих символов позволя­ет найти изъяны SQL-сервера без выполнения хранимых процедур (для MS SQL Server) или сложных SQL-запросов.

Управляющие символы SQL

Описание

Завершает выражение

Однострочный комментарий. Оставшаяся часть строки игнорируется

+

Пробел. Требуется для корректного формата выражений

,@переменная

Добавляет переменную. Помогает идентифицировать хранимые процедуры (для MS SQL Server)

?Раram1=fоо&Parаm1=bar

Присваивает переменной Param1 значения fоо и bar. Помогает идентифицировать хранимые процедуры (для MS SQL Server)

@@переменная

Обращение к внутренней переменной сервера

PRINT

Возвращает ошибку ODBC, но не может служить для вывода данных

SET

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

%

Символ шаблона, который заменяет любую строку, состоящую из нулевых или других символов


5 комментариев на «“Проверка WEB-сервера на уязвимость с помощью SQL-запросов”»

  1. Автор, спасибо за столь актуальный пост! Будем пробовать, спасибо!

  2. Аноним:

    отдельный запрос, или в адресной строке браузера, если нужно проверить БД или сайт на уязвимость или в ком. строке.

  3. Как опасно в интернете работать. В любой момент, любой дурак взломает сайтец и ни тебе трафа, ни тебе сылок. =)

  4. Спасибо за статью! Надо попробывать!

  5. icon:

    недавно на курсах разбирали эту технологию. спасибо за помощь)

Добавить комментарий

Яндекс.Метрика