Table of Contents
argument injection or modification
Description
Argument Injection ou Modification est un type d'attaque par injection .Modifier ou injecter des données comme argument peut conduire à de très similaires, souvent les mêmes, résultats que dans d'autres attaques par injection. Cela ne fait aucune différence si l'attaquant veut injecter la commande du système en arguments ou dans toute autre partie du code.
Exemples
Exemple 1
Connaissant le pseudo-code de l'application, l'attaquant peut deviner quelle action est requise par l'application pour en lancer une autre, par exemple, ce qu'il faut faire pour autoriser l'attaquant tant qu'administrateur. En lisant le code l'attaquant ne connaît pas les valeurs de $pass et $login. La question est : est-il possible de modifier la valeur de $autorised en ne connaissant pas les variables mentionnées précédemment?
$authorized=0;
if($pass = "XXX" and $login = "XXX") { $authorized = 1; }
if($authorized == 1) { admin_panel(); }
Si la configuration du serveur le permet , nous pouvons essayer de passer l'argument $ authorized = 1 comme données d'entrée à l'application.
E.g. /index.php?user=&pass=&authorized=1
Exemple 2
Si le mécanisme de sécurité ne protège pas les données comme il devrait, par exemple, ne vérifie pas l'identité de l'utilisateur et les données privées sont affichées (malgré qu'elles ne devraient pas), l'utilisateur peut tenter de modifier les arguments et accéder aux données appartenant à un autre utilisateur.
Par exemple, en entrant l'adresse http://testsite.com/index.php?invoice=12 un utilisateur peut vérifier l'une de ses factures. En modifiant l ' argument “facture”, compte tenu des hypothèses ci-dessus, le pirate peut essayer d'accéder aux factures d'un autre utilisateur. Cela pourrait être utile à l'attaquant dans le cas d'une attaque de force brute.
