SQL Injection

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

Data dodania: 18-05-2025
Znany również jako:
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

Odkryj zaufane polskie firmy specjalizujące się w ochronie cyfrowej. Nasz katalog gromadzi podmioty, które kompleksowo dbają o bezpieczeństwo Twojej organizacji.

Copyright © 2025 CyberKatalog. Wszelkie prawa zastrzeżone.

Projekt i wykonanie: Silesian Solutions

Zespół CyberKatalog 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 z zweryfikowanymi firmami. To specjaliści oferujący zaawansowane usługi z zakresu ochrony cyfrowej i bezpieczeństwa IT.

Zwiększ widoczność online - dodaj firmę

Dodaj firmę