SQL Injection

SQL Injection to jedna z najbardziej niebezpiecznych podatności aplikacji internetowych, polegająca na wstrzyknięciu złośliwych zapytań SQL do interakcji z bazą danych. Atakujący może wykorzystać luki w aplikacji, która nieprawidłowo obsługuje dane wejściowe, aby manipulować zapytaniami SQL wykonywanymi przez aplikację.

W wyniku udanego ataku SQL Injection, napastnik może:

  • uzyskać nieautoryzowany dostęp do danych,
  • usunąć, zmodyfikować lub dodać dane w bazie,
  • uzyskać dostęp do systemu operacyjnego, jeśli baza danych pozwala na wykonywanie komend systemowych.

W celu naprawienia podatności rekomendujemy używanie zapytań parametryzowanych (prepared statements), unikania dynamicznego składania zapytań SQL, oraz wprowadzenie poprawnej walidacji i sanityzacji danych wejściowych. Pomocna jest w tym przypadku biblioteka Joomla która posiada wbudowane zabezpieczenia przed atakami SQL Injection.