SQL Injection

Technika ataku polegająca na manipulacji zapytaniami SQL w aplikacjach webowych.

Data publikacji: 18-05-2025
Inne nazwy:
Wstrzykiwanie SQL

Definicja SQL Injection

SQL Injection (SQLi) to technika ataku polegająca na wstrzyknięciu złośliwego kodu SQL do zapytania generowanego przez aplikację internetową. Umożliwia to atakującemu modyfikację logiki zapytania, obejście mechanizmów uwierzytelniania, kradzież danych, ich modyfikację lub trwałe usunięcie z bazy danych.

Mechanizm działania

Atak SQLi wykorzystuje nieprawidłową walidację danych wejściowych w warstwie aplikacyjnej. Przykład:

SELECT * FROM users WHERE username = '$input' AND password = '$input';

Jeśli użytkownik wprowadzi admin'--, to zapytanie zmieni się w:

SELECT * FROM users WHERE username = 'admin'--' AND password = '';

Komentarz -- ignoruje dalszą część zapytania, co może skutkować nieautoryzowanym dostępem.

Typowe cele ataku SQLi

  • Kradzież danych – np. listy użytkowników, hasła, dane osobowe.
  • Zmiana danych – np. saldo konta, poziom uprawnień.
  • Usunięcie danych – poprzez komendy typu DROP TABLE.
  • Zdalne wykonanie kodu – w zaawansowanych przypadkach na bazach z dostępem do systemu operacyjnego.

Klasyfikacja SQL Injection

Typ Opis
Classic SQLi Bezpośrednie wstrzyknięcie i wykonanie kodu SQL.
Blind SQLi Brak jawnych komunikatów zwrotnych, odpowiedzi zależą od logiki.
Time-based SQLi Wnioskowanie o odpowiedziach na podstawie opóźnień w odpowiedzi.
Error-based SQLi Pozyskiwanie danych przez analizę komunikatów błędów SQL.
Second-order SQLi Wstrzyknięcie z opóźnionym wykonaniem (np. podczas przetwarzania).

Powiązania z innymi obszarami

  • Pentest – SQLi jest standardowym przypadkiem testowym w OWASP WSTG i testach black-box/grey-box.
  • CVE – wiele podatności SQLi posiada przypisane identyfikatory w systemie CVE.
  • SIEM/SOC – ataki SQLi generują wzorce logów wykrywane przez systemy SIEM i analizowane przez zespoły SOC.
  • Compliance – ujawnienie danych przez SQLi może naruszać GDPR, PCI-DSS i inne regulacje.

Przykładowe narzędzia detekcji

  • Burp Suite – ręczne i automatyczne testy wstrzyknięć.
  • sqlmap – narzędzie open-source do automatyzacji wykrywania i eksploatacji SQLi.
  • WAF – zapory aplikacyjne wykrywające wzorce charakterystyczne dla SQL Injection.

Dobre praktyki ochrony

  1. Parametryzacja zapytań (prepared statements) – oddzielenie kodu od danych.
  2. ORM i API bazodanowe – zamiast surowych zapytań SQL.
  3. Filtrowanie i walidacja wejścia – whitelist zamiast blacklist.
  4. Minifikacja uprawnień DB – konto aplikacji z minimalnymi możliwymi uprawnieniami.
  5. Monitoring i alerty – logowanie nietypowych zapytań do SIEM.

Standardy i referencje

  • OWASP Top 10 (A03:2021) – SQLi w kategorii Injection.
  • ISO 27001 / Annex A.12.2.1 – kontrola danych wejściowych i wyjściowych.
  • NIST SP 800-53 / SA-11 – bezpieczeństwo aplikacji i testy penetracyjne.

Wyzwania

  • Fałszywe pozytywy – trudność w automatycznej detekcji bez kontekstu.
  • Dynamika aplikacji – SPA, API i ORM mogą maskować wektory ataku.
  • Brak szkoleń – deweloperzy nieświadomi zagrożeń nadal stosują raw SQL.

Katalog Polskich Firm z Sektora Cyberbezpieczeństwa

Cyber Katalog to niezależna platforma gromadząca zweryfikowane polskie firmy specjalizujące się w cyberbezpieczeństwie. Naszą misją jest wspieranie decydentów w wyborze rzetelnych partnerów do ochrony zasobów cyfrowych.

Copyright © 2025 Cyber Katalog. Wszelkie prawa zastrzeżone.

Projekt i wykonanie: Silesian Solutions

Zespół Cyber Katalog nie świadczy usług doradczych przy wyborze dostawców. Naszą misją jest rozwój polskiej branży cybersecurity. Tworzymy niezależną przestrzeń, w której decydenci mogą łatwo nawiązywać kontakt ze sprawdzonymi firmami. To specjaliści oferujący zaawansowane usługi z zakresu ochrony cyfrowej i bezpieczeństwa IT.

Zwiększ widoczność w branży cyberbezpieczeństwa

Dodaj swoją firmę