O injecție Structured Query Language (SQL) este un tip de atac care este aproape întotdeauna încercat împotriva unui site web bazat de date. Este un efort de a introduce cod rău intenționat în interogările SQL ale site-ului pentru a interfera cu gestionarea datelor prin distrugerea, modificarea sau dezvăluirea datelor care sunt stocate în tabelele bazei de date care conduce site-ul. SQL este un limbaj de programare standard folosit pentru a crea, actualiza și prelua date care sunt stocate în baze de date.
Pericolele atacurilor cu injecție SQL sunt numeroase și adesea foarte devastatoare atunci când sunt efectuate cu succes. Informațiile sensibile, cum ar fi numerele cărților de credit, dosarele medicale ale unei persoane, numele de utilizator și parolele pentru conturi precum serviciile bancare online și e-mailul, precum și diferite tipuri de numere de identificare pot fi expuse infractorilor cibernetici. Deși furtul de date este probabil scopul principal al oricărei persoane care încearcă să folosească injecția SQL, nu este singura motivație pentru utilizarea acestui sau a oricărui alt tip de tehnică de injectare a codului, cum ar fi scriptingul încrucișat. Vizitatorii unui site web care afișează informații care nu le plac ar putea încerca atacuri cu injecție SQL pentru a dezactiva site-ul, a fura date sau a modifica datele pentru a distruge misiunea oamenilor din spatele site-ului.
Uneori, un atac cu injecție SQL este încercat împotriva unui site web de către un vizitator nemulțumit căruia i-ar fi putut fi interzis contul de către proprietarii site-ului, care invidiază popularitatea site-ului sau care încearcă să distrugă afacerea online a unei persoane pe care o consideră. fi un inamic. Cunoașterea SQL este, evident, necesară pentru a lansa un atac de injecție SQL, dar în general nu este considerat un limbaj foarte dificil de învățat, în comparație cu alte limbaje de programare, și multe se pot realiza doar cu o înțelegere de bază, dar solidă, a modului de utilizare. aceasta. Aceasta înseamnă că există un număr bun de oameni care navighează pe internet și care au abilitățile necesare pentru a încerca injectarea SQL împotriva unui site web.
Dezvoltatorii web, în special cei specializați în dezvoltarea web back-end, sunt responsabili pentru a se asigura că site-urile pe care le programează sunt sigure împotriva injectării SQL. Există aproape întotdeauna mai multe modalități de a obține o securitate atât de importantă și majoritatea acestor metode sunt considerate soluții simple, dar foarte eficiente. De exemplu, un dezvoltator poate folosi funcția mysql_real_escape_string() sau instrucțiuni pregătite atunci când scrie scripturi în limbajul de preprocesor de hipertext (PHP). Metodele alese pentru a proteja împotriva atacurilor trebuie luate în considerare cu atenție, deoarece performanța site-ului în ansamblu nu poate fi neglijată nici măcar la configurarea securității.