# Czym jest wstrzyknięcie SQL?

> Wstrzyknięcie SQL (SQL injection) to słabość typu injection, w której niezaufane dane zmieniają strukturę lub znaczenie polecenia Structured Query Language (SQL).

- Kanoniczny adres URL: https://yellowcube.eu/pl/glossary/structured-query-language-injection/
- Wydawca: Yellow Cube
- Język: pl
- Kontakt: hello@yellowcube.eu

## Treść

Występuje, gdy aplikacja buduje wyrażenia bazodanowe, łącząc tekst polecenia z wartościami wpływanymi przez atakującego bez zachowania niezawodnej granicy między kodem a danymi. Udany atak może odczytać lub zmienić dane, ominąć kontrole aplikacji lub wywołać możliwości bazy danych dostępne kontu aplikacji.

Podstawową obroną jest utrzymanie stałej struktury zapytania i przekazywanie wartości przez interfejsy sparametryzowane. Walidacja wejścia może wymuszać oczekiwania biznesowe, ale nie zastępuje parametryzacji; uprawnienia bazy danych powinny też ograniczać konsekwencje, gdy inna kontrola zawiedzie.

### Najważniejsze punkty

- **Bezpieczna konstrukcja zapytań:** Używaj przygotowanych wyrażeń lub poprawnie sparametryzowanych interfejsów bazodanowych w każdej ścieżce dostępu do danych, w tym zadań w tle, funkcji administracyjnych, importowanych danych i wejść pośrednich.
- **Dynamiczne elementy zapytań:** Parametry często nie mogą reprezentować nazw tabel, kolumn ani kierunków sortowania. Mapuj takie wybory na stałą listę dozwolonych lub przeprojektuj zapytanie zamiast wstawiać niezaufany tekst.
- **Redukcja konsekwencji:** Nadawaj tożsamościom aplikacji tylko niezbędne uprawnienia bazodanowe, oddzielaj role tam, gdzie praktyczne, chroń poświadczenia połączeń, unikaj niepotrzebnych możliwości bazy i monitoruj nietypowe zachowanie zapytań.
- **Istotne ograniczenie:** Escaping, procedury składowane, mapowanie obiektowo-relacyjne, walidacja wejścia ani zapora aplikacji webowych nie zapobiegają automatycznie wstrzyknięciom SQL; bezpieczeństwo zależy od tego, jak każde zapytanie jest ostatecznie zbudowane i wykonane.

### Powiązane terminy

[Bezpieczeństwo aplikacji](<https://yellowcube.eu/pl/glossary/application-security/>) · [Bezpieczeństwo aplikacji webowych](<https://yellowcube.eu/pl/glossary/web-application-security/>) · [OWASP Top 10](<https://yellowcube.eu/pl/glossary/open-worldwide-application-security-project-top-10/>) · [Statyczne testowanie bezpieczeństwa aplikacji (SAST)](<https://yellowcube.eu/pl/glossary/static-application-security-testing/>) · [Dynamiczne testowanie bezpieczeństwa aplikacji (DAST)](<https://yellowcube.eu/pl/glossary/dynamic-application-security-testing/>)

### Źródła

[OWASP SQL Injection Prevention Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html) · [MITRE CWE-89: SQL Injection](https://cwe.mitre.org/data/definitions/89.html)

## Budujmy skuteczniejszą cyberobronę razem

Budujemy trwałe partnerstwa oparte na zaufaniu, wiedzy i wspólnych sukcesach. Chcesz rozwijać firmę, poszerzyć ofertę cyberbezpieczeństwa lub wprowadzić innowacyjne rozwiązania na nowe rynki? Yellow Cube wspiera Cię na każdym z tych etapów.

[Skontaktuj się z Yellow Cube](<mailto:hello@yellowcube.eu?subject=Partnership>)

## Źródło i zakres informacji

Ta wersja Markdown jest generowana z tych samych zatwierdzonych treści co kanoniczna strona HTML. Przy cytowaniu użyj kanonicznego adresu URL.

