En kommandoinjektion är ett utnyttjande av en svaghet i systemet för att få tillgång till systemet i syfte att exekvera skadlig kod, samla in användardata och delta i andra aktiviteter. Även om det finns en potential för en kommandoinjektion att vara godartad till sin natur, är den vanligtvis inte det, och den kan utgöra ett betydande säkerhetshot. Det finns ett antal lösningar som är utformade för att förhindra denna aktivitet i datorsystem.
En av de vanligaste sårbarhetspunkterna för en kommandoinjektion är ett formulär, antingen på en webbsida eller i ett datorsystem. Formulär tillåter människor att mata in data och bearbetas sedan av systemet. Om det inte finns några begränsningar för vilken typ av data som anges i formuläret är det möjligt för personer att mata in datorkod som systemet kommer att läsa och exekvera. Formulär på webbsidor kan också konvertera indata till att visas för andra användare, vilket också utsätter andra människor för kod; till exempel kan någon lämna ett skadligt skript i kommentarerna på en webbplats.
När koden körs kan den göra saker som att ge människor åtkomst till backend av ett datorsystem, inklusive administrativ åtkomst, och kan även plantera virus och skadlig kod på ett datorsystem. Kommandoinjektioner kan vara utformade för att sprida sig själva, eftersom infekterade datorer interagerar med oinfekterade datorer över ett nätverk. De kan spridas mycket snabbt och kan orsaka betydande skador på vägen.
Ett sätt att undvika en kommandoinjektion är att utforma formulär och andra inmatningar på ett sätt som är utformat för att begränsa vad människor kan komma in. På internetkommentarer, till exempel, skulle det sannolikt inte finnas någon legitim anledning för användare att skriva in skript, och kommentarsformuläret skulle helt enkelt kunna avvisa skriptet, samtidigt som HTML tillåts för uppmärkning och stil. På samma sätt, i ett datorprogram, kan inmatningsformulären vägra inmatning av vissa tecken, vilket hindrar människor från att exekvera kod i formuläret.
Den potentiella risken med kommandoinjektionen noterades först på 1990-talet. Många designers har tagit itu med problemet och kommit på olika sätt att förhindra eller stoppa kommandoinjektionsattacker. Hackare har också försökt utveckla sina egna lösningar, utvecklat nya och kreativa sätt att exekvera kod genom svaga punkter i ett datorsystem. Vissa människor utvecklar nya tekniker av rent akademiskt intresse och orsakar då och då förödelse av en slump när deras forskning flyr ut i naturen, så att säga.