SQL-ін'єкція (Structured Query Language Injection) – це один з найбільш часто використовуваних способів взлому продуктів, що взаємодіють з базами даних. Суть таких ін'єкцій – впровадити в дані (передані через GET, POST запити) будь-який випадковий SQL код. Якщо ресурс приймає і виконує такі ін'єкції, значить він вразливий, і, по суті, з базою даних можна поводитися, як завгодно.
Вплив
Успішна атака з використанням SQL-ін'єкцій може призвести до несанкціонованого доступу до конфіденційних даних (наприклад, паролі, дані кредитної картки або інші особисті дані користувача). В останні роки багато гучних витоків даних стали результатом атак з використанням саме SQL-ін'єкцій, що призвело до збитків для репутації та штрафів з боку регулюючих органів.
Більшість вразливостей SQL-ін'єкцій можна швидко і надійно виявити за допомогою різних сканерів веб-вразливостей (наприклад: Burp Suite, OWASP ZAP).
Впровадження SQL також можна виявити вручну, використовуючи систематичний набір тестів для кожної точки входу в додаток. Як правило, це включає в себе:
Отримання прихованих даних, коли ви можете змінити запит SQL, щоб повернути додаткові результати.
Лабораторна робота
Порушення логіки програми, коли ви можете змінити запит, щоб втручатися в логіку програми.
Атаки UNION, де ви можете отримати дані з різних таблиць бази даних.
Лабораторна робота
https://portswigger.net/web-security/sql-injection/union-attacks/lab-determine-number-of-columns
Лабораторна робота