На сайте Института информационной безопасности (InfoSec Institute) опубликована статья с обзором способов тестирования на SQL-инъекции, кроме традиционных запросов GET и POST. Автор статьи Яссер Абукир (Yasser Aboukir) справедливо отмечает, что большинство сканеров веб-приложений ограничиваются только GET и POST, игнорируя другие векторы атаки.
Анализ 60 коммерческих сканеров веб-приложений по поддерживаемым способам SQL-инъекций
Результат понятен: 45 из 60 протестированных программ не поддерживают тестирование SQL-инъекций через HTTP-заголовки, а 42 из 60 программ не поддерживают тестирование SQL-инъекций через cookies.
Чтобы исправить этот недостаток, автор статьи объясняет, с помощью каких инструментов можно вручную проверить наличие уязвимостей на сайте методом SQL-инъекций через заголовки HTTP.
Для инъекций через cookies он рекомендует использовать плагин Cookie Manager+ для браузера Firefox, с помощью которого можно изменять содержимое cookies и отправлять их обратно на сервер с изменёнными параметрами.
Например, чтобы проверить наличие уязвимости в SQL-базе, можно изменить один из параметров cookie, добавив туда символ ‘
.
После отправки отредактированного cookie и обновления страницы уязвимое веб-приложение возвращает ошибку.
Для редактирования заголовков HTTP автор рекомендует использовать ещё один плагин Tamper Data. Потенциально опасные символы можно внедрять в X-Forwarded-For, User-agent, Referer.
Для автоматического тестирования лучше подходят специализированные сканеры, например, Sqlmap. С настройками по умолчанию он тестирует только GET и POST. Но если увеличить параметр –level
, то Sqlmap также использует HTTP Cookie, HTTP User-Agent и HTTP Referer.