# Co je SQL injection?

> SQL injection je injekční slabost, při které nedůvěryhodná data mění strukturu či význam příkazu Structured Query Language (SQL).

- Kanonická URL: https://yellowcube.eu/cs/glossary/structured-query-language-injection/
- Vydavatel: Yellow Cube
- Jazyk: cs
- Kontakt: hello@yellowcube.eu

## Obsah

Nastává, když aplikace buduje databázové příkazy kombinováním textu příkazu s útočníkem ovlivněnými hodnotami bez zachování spolehlivé hranice mezi kódem a daty. Úspěšný útok může číst či měnit data, obejít kontroly aplikace nebo vyvolat databázové schopnosti dostupné účtu aplikace.

Primární obranou je držet strukturu dotazu pevnou a předávat hodnoty parametrizovanými rozhraními. Validace vstupu může vynucovat obchodní očekávání, ale nenahrazuje parametrizaci; databázová oprávnění by měla rovněž omezit důsledky, pokud jiná kontrola selže.

### Klíčové body

- **Bezpečná konstrukce dotazů:** Používejte prepared statements či správně parametrizovaná databázová rozhraní napříč každou cestou přístupu k datům, včetně background úloh, administrativních funkcí, importovaných dat a nepřímých vstupů.
- **Dynamické prvky dotazů:** Parametry často nedokážou reprezentovat názvy tabulek, sloupců či směry řazení. Mapujte takové volby na pevný allowlist nebo dotaz přenavrhujte, místo vkládání nedůvěryhodného textu.
- **Snížení důsledků:** Udělujte aplikačním identitám pouze nezbytná databázová privilegia, kde je to praktické oddělte role, chraňte přihlašovací údaje spojení, vyhýbejte se nepotřebným databázovým schopnostem a monitorujte abnormální chování dotazů.
- **Důležité omezení:** Escapování, uložené procedury, objektově-relační mapování, validace vstupu či firewall webových aplikací automaticky nezabraňuje SQL injection; bezpečnost závisí na tom, jak je každý dotaz nakonec zkonstruován a proveden.

### Související termíny

[Zabezpečení aplikací](<https://yellowcube.eu/cs/glossary/application-security/>) · [Zabezpečení webových aplikací](<https://yellowcube.eu/cs/glossary/web-application-security/>) · [OWASP Top 10](<https://yellowcube.eu/cs/glossary/open-worldwide-application-security-project-top-10/>) · [Statické testování zabezpečení aplikací (SAST)](<https://yellowcube.eu/cs/glossary/static-application-security-testing/>) · [Dynamické testování zabezpečení aplikací (DAST)](<https://yellowcube.eu/cs/glossary/dynamic-application-security-testing/>)

### Zdroje

[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)

## Pojďme budovat chytřejší kybernetickou obranu Společně

Dlouhodobá partnerství stavíme na důvěře, odbornosti a společném úspěchu. Ať chcete rozvíjet své podnikání, rozšířit nabídku kybernetické bezpečnosti nebo uvést inovativní řešení na nové trhy, v Yellow Cube najdete spolehlivého partnera.

[Spojte se s Yellow Cube](<mailto:hello@yellowcube.eu?subject=Partnership>)

## Uvedení zdroje a rozsah

Tato verze Markdown vzniká ze stejných schválených záznamů jako kanonická stránka HTML. Při citování použijte kanonickou adresu.

