Table of Contents
Description
Une attaque de type 'Direct Static Code Injection' consiste à injecter le code directement sur la ressource utilisée par l'application lors du traitement d'une demande de l'utilisateur. Ceci est normalement effectué en falsifiant les bibliothèques et les fichiers modèles qui sont créés en fonction des entrées des utilisateurs sans contrôle correct des données. Une demande de l'utilisateur sur ressource modifiée, les actions définies dans celle-ci seront exécutéed côté serveur dans le contexte du processus du serveur web. Server Side Includes https://www.owasp.org/index.php/Server-Side_Includes_(SSI)Injection est considéré comme un type d'injection directe du code statique. Il ne doit pas être confondue avec d'autres types d'injection de code, comme XSS https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) («Cross-site scripting» ou «injection de code HTML») où le code est exécuté sur le poste client. # Exemples # ## Exemple 1 ## Il s'agit d'un exemple simple de l'exploitation d'une vulnérabilité CGISCRIPT.NET csSearch 2.3, publiée sur Bugtraq ID: 4368. En soumettant l'URL suivante au serveur, il est possible d'exécuter des commandes indiquées dans la variable 'setup'. csSearch.cgi?command=savesetup&setup=PERLCODE_HERE
Dans cet exemple classique, la commande suivante peut être utilisée pour supprimer tous les fichiers du dossier “/”: csSearch.cgi?command=savesetup&setup=rm%20-rf%20/
Notez que la commande ci-dessus doit être encodée pour être accepté.
Exemple 2
Cet exemple exploite une vulnérabilité sur 'Ultimate Board PHP' (UPB) 1,9 (CVE-2003-0395), ce qui permet à un attaquant d'exécuter du code php aléatoire. Cela se produit parce que certaines variables utilisateurs, comme l'adresse IP et le User-Agent, sont stockées dans un fichier qui est utilisé par la page adminiplog.php qui affiche les statistiques d'utilisation. Lorsqu'un administrateur navigue sur cette page, le code préalablement injecté par une requête malveillante est exécutée.L'exemple suivant stocke un code PHP malicieux qui va défigurer la page index.html lorsqu'un administrateur navigue adminiplog.php.
GET /board/index.php HTTP/1.0 User-Agent: <? system( "echo \'hacked\' > ../index.html" ); ?>
