Техника внедрения состоит из внедрения запроса SQL или команды, используя поля ввода приложения.
Веб-приложение — инъекция
Успешная инъекция SQL может читать, изменять конфиденциальные данные из базы данных, а также может удалять данные из базы данных. Это также позволяет хакеру выполнять административные операции с базой данных, такие как отключение СУБД / удаление баз данных.
Давайте разберемся с этими факторами с помощью простой диаграммы: агенты угроз, векторы атак, слабость в безопасности, техническое воздействие и влияние на бизнес.
Примеры
Приложение использует ненадежные данные при построении следующего уязвимого вызова SQL —
String query = "SELECT * FROM EMP WHERE EMPID = '" + request.getParameter("id") + "'";
Руки вверх
Шаг 1 — Перейдите в область SQL-инъекций приложения, как показано ниже.
Шаг 2. Как указано в упражнении, мы используем String SQL Injection для обхода аутентификации. Используйте SQL-инъекцию, чтобы войти в систему как босс («Невилл») без использования правильного пароля. Убедитесь, что профиль Невилла можно просмотреть и все функции доступны (включая Поиск, Создать и Удалить).
Шаг 3 — Мы введем SQL-код таким образом, чтобы мы могли обойти пароль, отправив параметр как «a» = «a» или 1 = 1
Шаг 4 — После использования, мы можем войти как Невилл, который является Администратором, как показано ниже.
Предотвращение SQL-инъекций
Есть много способов предотвратить внедрение SQL. Когда разработчики пишут код, они должны убедиться, что они обрабатывают специальные символы соответственно. OWASP предлагает чит-листы / методы профилактики, которые, безусловно, являются руководством для разработчиков.