AccueilGlossaire › Command Injection (OS Command Injection)

Command Injection (OS Command Injection)

Sécurité

Injection de commandes système exécutées par l'application sur le serveur hôte.

L'injection de commandes (Command Injection ou OS Command Injection) est une vulnérabilité où une application transmet des entrées utilisateur non sanitisées à un shell système (sh, bash, cmd.exe, PowerShell), permettant à l'attaquant d'exécuter des commandes arbitraires avec les privilèges du processus applicatif. C'est l'une des vulnérabilités les plus dangereuses car elle mène directement au RCE.

Exemple : un script PHP system("ping -c 1 " . _GET['host']) est appelé avec `?host=8.8.8.8; cat /etc/passwd` — le shell interprète le `;` comme séparateur et exécute les deux commandes. Les caractères à risque : ; & | && || backtick, dollar-paren, dollar-accolade, < > newline. Cas célèbres : Shellshock (CVE-2014-6271, bash via variables d'env CGI), de nombreux routeurs SOHO avec des interfaces admin vulnérables.

Mitigations : (1) éviter complètement les appels shell — utiliser les APIs natives du langage (file_get_contents au lieu de cat, fonctions DNS au lieu de host/nslookup) ; (2) si shell nécessaire, utiliser execve avec un array d'arguments (pas de shell interpolation) — exec() en Python avec liste, ProcessBuilder en Java, escapeshellarg/escapeshellcmd en PHP ; (3) whitelist stricte des entrées ; (4) sandbox (containers, seccomp, AppArmor). Référencé dans OWASP Top 10 (A03:2021).

Certifications qui couvrent ce concept
OSCP CEH PenTest+ CySA+
Termes liés
OWASP (Open Web Application Security Project) LDAP Injection SAST (Static Application Security Testing) SELinux (Security-Enhanced Linux)

Préparez vos certifications IT gratuitement

200+ certifications, 400 000+ questions, examens blancs chronométrés.

Voir le catalogue →
← Retour au glossaire