Les injections : les bases
Les vulnérabilités par injection comptent parmi les plus connues, et sans surprise, l'exemple incontournable reste l'injection SQL. Difficile d'échapper au sujet dans le monde de la tech, alors autant en parler directement.
Avec l'injection SQL, il est possible de manipuler le comportement d'une requête SQL pour qu'elle exécute les commandes d'un attaquant.
Il existe de nombreux autres types d'injections qui, bien qu'apparemment différents, reposent tous sur le même principe.
Pour rappel, voici quelques-uns des types d'injections les plus courants :
- Injection SQL
- Cross-Site Scripting (injection HTML/Javascript)
- Path Traversal (injection de chemin/URL)
- Injection de commandes
- Injection de code
Bases de l'injection
Si vous examinez la liste précédente, tous ces types d'injections ont un point commun : ils impliquent une chaîne de caractères traitée par un interpréteur, qui exécute ensuite ce que cette chaîne représente. Nous avons indiqué les « entrées utilisateur » entre accolades.
Alors, que se passerait-il si l'insertion des données utilisateur n'était pas sécurisée ? Que pourrait faire un attaquant ? Encore une fois, tout ce qui se trouve entre accolades est considéré comme une « entrée utilisateur » dans ce scénario.
Dans ces exemples, observez comment l'entrée peut être utilisée pour influencer le résultat final.
C'est là toute l'essence de l'injection : influencer ce qui est transmis à l'interpréteur afin de lui faire exécuter une action différente de celle prévue par le développeur.
Ce ne sont là que les bases. Nous avons consacré des pages spécifiques à certains types d'injections, car ils méritent une attention particulière.
Vous pouvez les trouver ici :
Le codage sécurisé en pratique
Explorez nos directives de développement sécurisé pour comprendre et atténuer les vulnérabilités logicielles telles que l'OWASP Top 10, et plongez dans des missions de formation guidées pour vous exercer sur des simulations d'applications réelles.