Les boutons désactivés en HTML sont des éléments de l'interface utilisateur qui sont inactifs et sur lesquels l'utilisateur ne peut pas cliquer. Ils sont souvent utilisés pour masquer des fonctionnalités ou des informations de l'application aux utilisateurs non autorisés.
Par exemple, un bouton “Modifier” peut être désactivé pour empêcher un utilisateur de modifier des données sensibles.
Cependant, il est important de noter que les boutons désactivés ne sont pas censés être utilisés comme méthode de sécurité pour empêcher l’utilisateur de réaliser certaines actions.
Pour exploiter cette vulnérabilité, il est nécessaire d’avoir accès à une page HTML comportant des boutons désactivés.
Naviguer sur l’application afin d’identifier les boutons comportant l'attribut “disabled”.
Tenter de cliquer sur le bouton et voir si il est bien inactif et qu'il ne réagit pas au clic.
Une exploitation réussie de ce type de vulnérabilité peut permettre :
Les contre-mesures suivantes peuvent être mises en œuvre :
Le scénario suivant peut être joué via l’exploitation de cette vulnérabilité :
Voici un exemple de code HTML pour un bouton classique :
<button type="button">Cliquez ici</button>
Dans cet exemple, le bouton affichera le texte “Cliquez ici” et ne sera pas associé à une action particulière. Le type “button” indique que ce bouton n'a pas de comportement par défaut (contrairement au type “submit” qui soumettra le formulaire). Vous pouvez également ajouter une classe, un ID, du style ou d'autres attributs pour personnaliser l'apparence et le comportement du bouton en fonction de vos besoins.
Voici une page simple en HTML contenant un bouton qui est désactivé :
<!DOCTYPE html> <html> <head> <title>Page avec bouton désactivé</title> </head> <body> <!-- Ce bouton est désactivé grâce à l'attribut "disabled" --> <button disabled>Bouton désactivé</button> </body> </html>
Dans ce code un attaquant peut facilement contourner le bouton désactivé en modifiant le code HTML de la page avec un débogueur de navigateur.
URL :