Учебники

Тестирование безопасности — инъекция

Техника внедрения состоит из внедрения запроса SQL или команды, используя поля ввода приложения.

Веб-приложение — инъекция

Успешная инъекция SQL может читать, изменять конфиденциальные данные из базы данных, а также может удалять данные из базы данных. Это также позволяет хакеру выполнять административные операции с базой данных, такие как отключение СУБД / удаление баз данных.

Давайте разберемся с этими факторами с помощью простой диаграммы: агенты угроз, векторы атак, слабость в безопасности, техническое воздействие и влияние на бизнес.

SQL-инъекция

Примеры

Приложение использует ненадежные данные при построении следующего уязвимого вызова SQL —

String query = "SELECT * FROM EMP WHERE EMPID = '" + request.getParameter("id") + "'";

Руки вверх

Шаг 1 — Перейдите в область SQL-инъекций приложения, как показано ниже.

SQL-инъекция

Шаг 2. Как указано в упражнении, мы используем String SQL Injection для обхода аутентификации. Используйте SQL-инъекцию, чтобы войти в систему как босс («Невилл») без использования правильного пароля. Убедитесь, что профиль Невилла можно просмотреть и все функции доступны (включая Поиск, Создать и Удалить).

Шаг 3 — Мы введем SQL-код таким образом, чтобы мы могли обойти пароль, отправив параметр как «a» = «a» или 1 = 1

SQL-инъекция

Шаг 4 — После использования, мы можем войти как Невилл, который является Администратором, как показано ниже.

SQL-инъекция

Предотвращение SQL-инъекций

Есть много способов предотвратить внедрение SQL. Когда разработчики пишут код, они должны убедиться, что они обрабатывают специальные символы соответственно. OWASP предлагает чит-листы / методы профилактики, которые, безусловно, являются руководством для разработчиков.