SQL-инъекции: обнаружение и безопасная проверка в лабораторных условиях

Тестирование SQL-инъекций проводится только в лабораторных условиях или в авторизованной системе. Проверяются Request/Response, поведение сервера, роли, состояние и влияние, с использованием минимальных тестов, не повреждающих данные.
Тестирование безопасности Web и API должно проверять границы доверия, разрешений, ввода, состояния и бизнес-логики. Каждый тест в статье предназначен для лаборатории, CTF или системы, для которой было дано явное разрешение. Данная статья посвящена тестированию SQL-инъекций и предназначена для студентов Web PT и разработчиков. Цель состоит в том, чтобы предоставить метод работы, который можно применять на практике, в профессиональном интервью и в рабочей среде, не ограничиваясь словарным определением.
Основная проблема заключается в том, что данные почти всегда неполны. Поверхность ввода (input surface), параметризация (parameterization), поведение при ошибках (error behavior) могут указывать направление, но их значение зависит от времени, актива, пользователя и ожидаемой активности. Поэтому мы будем строить тест вокруг исследовательского вопроса, необходимых доказательств и четкого критерия завершения.
Практический сценарий в статье: тестирование на уязвимом приложении с фиктивными данными. Все примеры являются лабораторными данными или описанием процессов. В случае Penetration Testing, Web или Cloud, необходимо работать только с явным разрешением, определенной областью действия (Scope) и возможностью остановить тестирование.




