Approfondissement des définitions techniques
Rappelons la différence entre une vulnérabilité et un exploit :
- Vulnérabilité : Un défaut dans la conception, l'implémentation ou la configuration d'un logiciel (ex : débordement de tampon, mot de passe par défaut, correctif manquant).
- Exploit : Code écrit pour cibler une vulnérabilité spécifique.
Catégories courantes de vulnérabilités
- Failles d'injection (SQLi, Injection de commande) : Une entrée utilisateur non fiable est exécutée comme du code ou des commandes.
- Défaut d'authentification / contrôle d'accès : Failles permettant à des utilisateurs non autorisés d'accéder à des données ou d'élever leurs privilèges.
- Corruption de mémoire (Buffer Overflows) : Écrasement des tampons mémoire pour rediriger le flux d'exécution du programme.
- Absence de configurations de sécurité : Laisser des paramètres par défaut non sécurisés (ex : chaîne de communauté SNMP 'public').
Les hackers éthiques doivent d'abord trouver la vulnérabilité, puis localiser ou développer le code d'exploitation correspondant.