# Mi az SQL-injektálás?

> Az SQL-injektálás olyan injektálási gyengeség, amelyben nem megbízható adat megváltoztatja egy Structured Query Language (SQL) parancs szerkezetét vagy jelentését.

- Kanonikus URL: https://yellowcube.eu/hu/glossary/structured-query-language-injection/
- Kiadó: Yellow Cube
- Nyelv: hu
- Kapcsolat: hello@yellowcube.eu

## Tartalom

Akkor fordul elő, amikor egy alkalmazás az adatbázis-utasításokat úgy építi, hogy a parancsszöveget támadó által befolyásolt értékekkel kombinálja anélkül, hogy megbízható határt tartana fenn a kód és az adat között. A sikeres támadás adatot olvashat vagy módosíthat, megkerülheti az alkalmazásellenőrzéseket, vagy meghívhatja az alkalmazásfiók számára elérhető adatbázis-képességeket.

Az elsődleges védelem a lekérdezésszerkezet rögzítése és az értékek paraméterezett felületeken keresztül történő átadása. A bemenetvalidálás üzleti elvárásokat kényszeríthet ki, de nem helyettesíti a paraméterezést; az adatbázis-jogosultságoknak is korlátozniuk kell a következményeket, ha egy másik kontroll meghibásodik.

### Legfontosabb pontok

- **Biztonságos lekérdezés-építés:** Használjon prepared statementeket vagy helyesen paraméterezett adatbázis-felületeket minden adathozzáférési útvonalon, beleértve a háttérfeladatokat, adminisztratív funkciókat, importált adatokat és közvetett bemeneteket.
- **Dinamikus lekérdezési elemek:** A paraméterek gyakran nem tudják reprezentálni a táblaneveket, oszlopneveket vagy rendezési irányokat. Képezze le az ilyen választásokat rögzített engedélyezési listára, vagy tervezze újra a lekérdezést ahelyett, hogy nem megbízható szöveget szúrna be.
- **Következmény-csökkentés:** Adjon az alkalmazásidentitásoknak csak a szükséges adatbázis-jogosultságokat, válassza szét a szerepeket, ahol praktikus, védje a kapcsolati hitelesítő adatokat, kerülje a felesleges adatbázis-képességeket, és figyelje a rendellenes lekérdezési viselkedést.
- **Fontos korlát:** Az escape-elés, tárolt eljárások, objektum-relációs leképezés, bemenetvalidálás vagy webalkalmazási tűzfal nem akadályozza meg automatikusan az SQL-injektálást; a biztonság attól függ, hogyan épül fel és hajtódik végre végül minden lekérdezés.

### Kapcsolódó kifejezések

[Alkalmazásbiztonság](<https://yellowcube.eu/hu/glossary/application-security/>) · [Webalkalmazás-biztonság](<https://yellowcube.eu/hu/glossary/web-application-security/>) · [Open Worldwide Application Security Project (OWASP) Top 10](<https://yellowcube.eu/hu/glossary/open-worldwide-application-security-project-top-10/>) · [Statikus alkalmazásbiztonsági tesztelés (SAST)](<https://yellowcube.eu/hu/glossary/static-application-security-testing/>) · [Dinamikus alkalmazásbiztonsági tesztelés (DAST)](<https://yellowcube.eu/hu/glossary/dynamic-application-security-testing/>)

### Források

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

## Forrásmegjelölés és hatókör

Ez a Markdown-változat ugyanazokból a jóváhagyott tartalmi rekordokból készül, mint a kanonikus HTML-oldal. Hivatkozáskor a kanonikus URL-t használja.

