SQL Injection (SQLi)
SQL Injection to technika ataku na aplikacje internetowe, w której atakujący wykorzystuje luki w zabezpieczeniach (brak walidacji danych wejściowych), aby “wstrzyknąć” własne polecenia do bazy danych.
Co może zrobić atakujący?
- Ominąć logowanie (zalogować się jako admin bez hasła).
- Wyciągnąć całą bazę danych (listę użytkowników, haseł, emaili).
- Zmodyfikować lub usunąć dane.
Przykład
Zamiast wpisać nazwę użytkownika, haker wpisuje: ' OR '1'='1. Jeśli aplikacja jest podatna, baza danych zinterpretuje to jako “Pokaż dane, jeśli nazwa to pusty ciąg LUB 1 równa się 1”. Ponieważ 1 zawsze równa się 1, warunek jest spełniony i haker uzyskuje dostęp.