Qu’est-ce qu’une injection de code ?

L’injection de code ou l’exécution de code à distance (RCE) fait référence à une attaque par laquelle un hacker peut exécuter un code malveillant à la suite d’une attaque par injection. L’injection de code diffère de l’injection de commande puisque le hacker est limité aux limites de la langue exécutant le code injecté. Bien qu’il soit possible de faire évoluer une attaque de code d’injection vers une exécution de commandes arbitraires, ce n’est pas toujours le cas.

En règle générale, l’injection de code se produit lorsqu’une application évalue le code sans la valider.

Voici un exemple en PHP vulnérable à l’injection de code.

/**
* Get the code from a GET input
* Example - http://example.com/?code=phpinfo();
*/
$code = $_GET['code'];

/**
* Unsafely evaluate the code
* Example - phpinfo();
*/
eval("\$code;");

Dans l’exemple ci-dessus, un hacker pourrait effectuer la demande suivante pour exécuter un code PHP arbitraire. Dans ce cas, une page d’information PHP sera affichée.

http://example.com/?code=phpinfo();

Execution de Commande OS

Bien que l’injection de code ait le potentiel de faire beaucoup de dégâts, un hacker peut avoir la possibilité d’augmenter les dégâts de l’injection de code en exécutant des commandes arbitraires du système d’exploitation (OS) sur le serveur en utilisant PHP lui-même pour exécuter des commandes shell.

http://example.com/?code=system('whoami');

Une fois qu’un hacker réussit à procéder à l’exécution du système d’exploitation, il peut tenter d’utiliser un webshell ou d’installer d’autres logiciels malveillants..

Prévenir les vulnérabilités de l’injection de code

La méthode la plus efficace pour éliminer les vulnérabilités par injection de code est d’éviter l’évaluation du code à tout prix, à moins que ce soit absolument nécessaire (c’est-à-dire qu’il n’y a aucune possibilité d’obtenir le même résultat sans évaluation du code).

Dans le cas où l’évaluation du code est nécessaire, il est essentiel que toute entrée d’utilisateur soit fortement validée, avec autant de restrictions que possible sur les données saisies.

Les produits Acunetix sont distribués par SienerInformatique, revendeur en gros de logiciels : https://www.sienercloud.com/categorie-produit/produits/securite/acunetix-online-et-on-premise/

Source : www.acunetix.com

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *