Injection 101
L'une des catégories de vulnérabilités les plus connues est celle des vulnérabilités par injection, en particulier, ce qui ne surprend personne, l'enfant-vedette incontesté : l'injection SQL. Il est difficile d'éviter d'entendre parler de l'injection SQL dans le monde de la technologie, c'est pourquoi nous allons en parler.
Avec l'injection SQL, il est possible de manipuler le comportement d'une requête SQL pour qu'elle fasse le travail d'un attaquant.
Il existe également de nombreux autres types d'injection qui, bien que différents en apparence, fonctionnent tous selon le même principe.
Pour résumer, les types d'injection les plus courants sont les suivants :
- Injection SQL
- Cross-Site Scripting (injection HTML/Javascript)
- Traversée de chemin (injection de chemin/Url)
- Injection de commande
- Injection de code
Un peu d'injection 101
Si vous regardez la liste précédente des types d'injection, ils ont tous une chose en commun : ils impliquent tous une chaîne de caractères, qui est exécutée par un interpréteur, qui fait ensuite ce que la chaîne représente. Nous avons marqué l'"entrée utilisateur" par des crochets.
Que se passerait-il donc si l'insertion des données par l'utilisateur n'était pas sécurisée ? Que pourrait faire un pirate ? Là encore, tout ce qui se trouve entre les crochets est considéré comme une "entrée utilisateur" dans ce scénario.
Dans ces exemples, notez comment l'entrée peut être utilisée pour influencer le résultat de l'entrée de l'utilisateur.
C'est l'essence même de l'injection. Il s'agit d'influencer ce qui est transmis à l'interprète, afin de lui faire faire quelque chose d'autre que ce que le programmeur original avait prévu.
Il ne s'agit là que des éléments de base à prendre en considération. Nous avons séparé certains des différents types d'injection sur leurs propres pages parce qu'ils méritent un peu plus d'attention.
Vous pouvez les trouver ici :