O injecție de comandă este o exploatare a unei slăbiciuni a sistemului pentru a obține acces la sistem în scopul executării codului rău intenționat, a colectării datelor utilizatorului și a angajării în alte activități. Deși există un potențial ca o injecție de comandă să fie de natură benignă, de obicei nu este și poate prezenta o amenințare semnificativă la securitate. Există o serie de soluții de soluționare concepute pentru a preveni această activitate în sistemele informatice.
Unul dintre cele mai comune puncte de vulnerabilitate pentru o injectare de comandă este un formular, fie pe o pagină web, fie într-un sistem informatic. Formularele permit oamenilor să introducă date și apoi sunt procesate de sistem. Dacă nu există constrângeri privind tipul de date introduse în formular, este posibil ca oamenii să introducă cod de computer pe care sistemul îl va citi și executa. Formularele de pe paginile web pot converti, de asemenea, intrarea pentru a fi afișată pentru alți utilizatori, expunând și alte persoane la cod; de exemplu, cineva ar putea lăsa un script rău intenționat în comentariile de pe un site web.
Când se execută codul, poate face lucruri precum oferirea persoanelor cu acces la backend-ul unui sistem informatic, inclusiv acces administrativ și ar putea, de asemenea, să planteze viruși și programe malware pe un sistem informatic. Injecțiile de comandă pot fi concepute pentru a se răspândi, deoarece computerele infectate interacționează cu computerele neinfectate printr-o rețea. Acestea se pot răspândi foarte rapid și pot provoca daune substanțiale pe parcurs.
O modalitate de a evita o injecție de comandă este de a proiecta formulare și alte intrări într-un mod conceput pentru a restricționa ceea ce oamenii pot intra. În comentariile de pe Internet, de exemplu, probabil că nu ar exista niciun motiv legitim pentru ca utilizatorii să introducă scripturi, iar formularul de comentariu ar putea pur și simplu respinge scriptul, permițând totuși HTML pentru marcare și stil. La fel, într-un program de calculator, formularele de intrare ar putea refuza introducerea anumitor caractere, împiedicând oamenii să execute cod în formular.
Riscul potențial prezentat de injecția de comandă a fost observat pentru prima dată în anii 1990. Numeroși designeri au abordat problema și au venit cu diverse modalități de a preveni sau de a opri atacurile prin injecție de comandă. Hackerii au încercat, de asemenea, să-și dezvolte propriile soluții, dezvoltând modalități noi și creative de a executa cod prin punctele slabe ale unui sistem informatic. Unii oameni dezvoltă noi tehnici din interes pur academic și ocazional fac ravagii accidental atunci când cercetările lor scapă în sălbăticie, ca să spunem așa.