(z ang.) – metoda cyberataku wykorzystująca lukę w zabezpieczeniach aplikacji polegającą na nieodpowiednim filtrowaniu lub niedostatecznym typowaniu danych użytkownika, które to dane są później wykorzystywane przy wykonaniu zapytań (SQL) do bazy danych. Podatne są na nią wszystkie systemy przyjmujące dane od użytkownika i dynamicznie generujące zapytania do bazy danych.

Formy ataku Niedostateczne filtrowanie danych Ten typ ataków opiera się na nieodpowiednim filtrowaniu znaków ucieczki z danych wejściowych, co pozwala m.in. na modyfikację zapytania niezgodnie z intencją programisty albo nawet przekazanie dodatkowych zapytań niszczących dane.

Modyfikowanie zapytań Poniższy kod prezentuje ten problem (PHP): $q = mysql_query("SELECT * FROM uzytkownicy WHERE uzytkownik = '$uzytkownik'"); Gdy użytkownik przekaże jako $uzytkownik wartość „kowalski”, całe zapytanie przyjmie postać: SELECT * FROM uzytkownicy WHERE uzytkownik = 'kowalski' i będzie spełniało swoją funkcję.