Injection de Code
Qu'est-ce que Injection de Code ?
Injection de CodeFamille de vulnérabilités où des données fournies par l'attaquant sont interprétées et exécutées comme du code par l'application, menant à une exécution arbitraire.
L'injection de code est la grande famille de failles dans lesquelles une entrée non fiable est intégrée à un élément que l'application traite ensuite comme du code, de la configuration ou du balisage, ce qui amène le runtime à l'exécuter. Cas concrets : injections basées sur eval en JavaScript ou Python, injection de templates côté serveur, injections de langages d'expression (OGNL, SpEL), désérialisation non sûre déclenchant des chaînes de gadgets, et chargement dynamique de classes depuis des données utilisateur. Une exploitation réussie procure typiquement l'exécution distante de code sous l'identité de l'application, souvent tremplin vers la compromission de l'hôte ou du cluster. Les défenses incluent ne jamais construire de code depuis l'entrée, des API paramétrées, le verrouillage des fonctionnalités dynamiques et le moindre privilège avec sandboxing.
● Exemples
- 01
eval(request.body.expr) exécutant du JavaScript contrôlé par l'attaquant dans un service Node.
- 02
Une application Java appelant ScriptEngine.eval sur un script fourni par l'utilisateur.
● Questions fréquentes
Qu'est-ce que Injection de Code ?
Famille de vulnérabilités où des données fournies par l'attaquant sont interprétées et exécutées comme du code par l'application, menant à une exécution arbitraire. Cette notion relève de la catégorie Attaques et menaces en cybersécurité.
Que signifie Injection de Code ?
Famille de vulnérabilités où des données fournies par l'attaquant sont interprétées et exécutées comme du code par l'application, menant à une exécution arbitraire.
Comment fonctionne Injection de Code ?
L'injection de code est la grande famille de failles dans lesquelles une entrée non fiable est intégrée à un élément que l'application traite ensuite comme du code, de la configuration ou du balisage, ce qui amène le runtime à l'exécuter. Cas concrets : injections basées sur eval en JavaScript ou Python, injection de templates côté serveur, injections de langages d'expression (OGNL, SpEL), désérialisation non sûre déclenchant des chaînes de gadgets, et chargement dynamique de classes depuis des données utilisateur. Une exploitation réussie procure typiquement l'exécution distante de code sous l'identité de l'application, souvent tremplin vers la compromission de l'hôte ou du cluster. Les défenses incluent ne jamais construire de code depuis l'entrée, des API paramétrées, le verrouillage des fonctionnalités dynamiques et le moindre privilège avec sandboxing.
Comment se défendre contre Injection de Code ?
Les défenses contre Injection de Code combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Injection de Code ?
Noms alternatifs courants : Exécution de code à distance, Exécution arbitraire de code.
● Termes liés
- attacks№ 392
Injection eval
Sous-cas concret de l'injection de code causé par la transmission d'entrées non fiables à des primitives d'évaluation dynamique comme eval() en JavaScript ou eval/exec en Python.
- attacks№ 202
Injection de commandes
Attaque où une entrée utilisateur est transmise sans assainissement à un shell système, amenant l'application à exécuter des commandes fournies par l'attaquant.
- attacks№ 1084
Injection SQL
Attaque par injection de code qui insère du SQL contrôlé par l'attaquant dans une requête de base de données, permettant de lire, modifier ou détruire des données.
- attacks№ 1009
Injection de template côté serveur
Attaque qui injecte la syntaxe d'un moteur de templates dans une entrée non fiable, provoquant l'exécution de code côté serveur au rendu du template.
- vulnerabilities№ 539
Désérialisation non sécurisée
Vulnérabilité où une application désérialise des données non fiables, permettant à un attaquant d'instancier des objets arbitraires et souvent d'obtenir un RCE.
● Voir aussi
- № 808Exploit PDF