Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

Les sites Web et les applications nécessitent souvent l'intervention de l'utilisateur afin de remplir pleinement leur objectif. Si un site Web permet aux utilisateurs de s'abonner, les utilisateurs doivent être en mesure de fournir leur adresse e-mail. Et les achats en ligne nécessitent évidemment la saisie de détails de paiement.

Le problème avec l'entrée de l'utilisateur, cependant, est qu'elle permet également à un pirate d'entrer quelque chose de malveillant dans le but de tromper le site Web ou l'application pour qu'il se comporte mal. Afin de se protéger contre cela, tout système qui offre une entrée utilisateur doit avoir une validation d'entrée.

Alors, qu'est-ce que la validation des entrées et comment ça marche ?

Qu'est-ce que la validation des entrées ?

La validation des entrées est le processus d'analyse des entrées et d'interdiction de celles qui sont considérées comme inappropriées. L'idée derrière la validation des entrées est qu'en n'autorisant que les entrées qui répondent à des critères spécifiques, il devient impossible pour un attaquant d'entrer une entrée conçue pour nuire à un système.

instagram viewer

La validation des entrées doit être utilisée sur tout site Web ou application qui autorise les entrées des utilisateurs. Même si un site Web ou une application ne stocke aucune information confidentielle, autoriser des entrées non valides peut également entraîner des problèmes d'expérience utilisateur.

Pourquoi la validation des entrées est-elle importante ?

La validation des entrées est importante pour deux raisons, à savoir l'expérience utilisateur et la sécurité.

Expérience utilisateur

Les utilisateurs entrent souvent des entrées invalides, non pas parce qu'ils essaient d'attaquer un site Web ou une application, mais parce qu'ils ont fait une erreur. Un utilisateur peut épeler un mot de manière incorrecte ou fournir des informations erronées, comme entrer son nom d'utilisateur dans la mauvaise case ou essayer un mot de passe obsolète. Lorsque cela se produit, la validation des entrées peut être utilisée pour informer l'utilisateur de son erreur, lui permettant de la rectifier rapidement.

La validation des entrées empêche également les scénarios où les inscriptions et les ventes sont perdues parce qu'un utilisateur n'est pas informé et pense donc que la bonne entrée a été fournie alors que ce n'est pas le cas.

Sécurité

La validation des entrées empêche un large éventail d'attaques pouvant être effectuées contre un site Web ou une application. Ces cyberattaques peuvent entraîner le vol d'informations personnelles, permettre un accès non autorisé à d'autres composants et/ou empêcher le fonctionnement d'un site Web/d'une application.

L'omission de la validation des entrées est également facile à détecter. Les attaquants peuvent utiliser des programmes automatisés pour entrer des entrées invalides sur des sites Web en masse et déterminer comment les sites Web réagissent. Ils peuvent ensuite lancer des attaques manuelles sur tous les sites Web non protégés.

Cela signifie qu'un manque de validation des entrées n'est pas seulement une vulnérabilité importante; c'est une vulnérabilité qui sera souvent trouvée et qui peut donc souvent provoquer des piratages.

Que sont les attaques de validation d'entrée ?

Une attaque de validation d'entrée est toute attaque qui implique l'ajout d'une entrée malveillante dans un champ de saisie utilisateur. Il existe de nombreux types d'attaques de validation d'entrée qui tentent de faire différentes choses.

Débordement de tampon

Un débordement de tampon se produit lorsque trop d'informations sont ajoutées à un système. Si la validation des entrées n'est pas utilisée, rien n'empêche un attaquant d'ajouter autant d'informations qu'il le souhaite. Cela s'appelle un attaque par débordement de tampon. Cela peut entraîner l'arrêt du fonctionnement d'un système et/ou la suppression d'informations actuellement stockées.

Injection SQL

L'injection SQL est le processus d'ajout de requêtes SQL aux champs d'entrée. Cela peut prendre la forme de l'ajout d'une requête SQL à un formulaire Web ou de l'ajout d'une requête SQL à une URL. Le but est de tromper le système pour qu'il exécute la requête. L'injection SQL peut être utilisée pour accéder à des données sécurisées et pour modifier ou supprimer des données. Cela signifie que la validation des entrées est particulièrement vitale pour tout site Web ou application qui stocke des informations importantes.

Script intersite

Les scripts intersites impliquent ajouter du code aux champs de saisie de l'utilisateur. Elle est souvent réalisée en ajoutant du code à la fin d'une URL appartenant à un site Web réputé. L'URL peut être partagée via des forums ou des médias sociaux et le code est ensuite exécuté lorsqu'une victime clique dessus. Cela crée une page Web malveillante qui semble être hébergée sur le site Web réputé.

L'idée est que si une victime fait confiance au site Web cible, elle doit également faire confiance à une page Web malveillante qui semble lui appartenir. La page Web malveillante peut être conçue pour voler des frappes au clavier, rediriger vers d'autres pages et/ou lancer des téléchargements automatiques.

Comment implémenter la validation des entrées

La validation des entrées n'est pas difficile à mettre en œuvre. Vous devez simplement déterminer quelles règles sont nécessaires pour empêcher les entrées invalides, puis les ajouter au système.

Écrire toutes les entrées de données

Créez une liste de toutes les entrées utilisateur possibles. Cela vous obligera à examiner tous les formulaires utilisateur et à prendre en compte d'autres types d'entrées telles que les paramètres d'URL.

Créer des règles

Une fois que vous avez une liste de toutes les entrées de données, vous devez créer des règles qui dictent quelles entrées sont acceptables. Voici quelques règles courantes à mettre en œuvre.

  • Liste blanche: n'autorisez que la saisie de caractères spécifiques.
  • Liste noire: empêche la saisie de caractères spécifiques.
  • Format: n'autorisez que les entrées qui respectent un format particulier, c'est-à-dire n'autorisez que les adresses e-mail.
  • Longueur: n'autorisez que les entrées jusqu'à une certaine longueur.

Mettre en œuvre les règles

Afin de mettre en œuvre les règles, vous devrez ajouter du code au site Web ou à l'application qui rejette toute entrée qui ne les suit pas. En raison de la menace posée par des entrées non valides, le système doit être testé avant d'être mis en service.

Créer des réponses

En supposant que vous souhaitiez que la validation des entrées aide également les utilisateurs, vous devez ajouter des messages expliquant à la fois pourquoi une entrée est incorrecte et ce qui doit être ajouté à la place.

La validation des entrées est une exigence pour la plupart des systèmes

La validation des entrées est une exigence importante pour tout site Web ou application qui permet la saisie des utilisateurs. Sans contrôle sur les entrées ajoutées à un système, un attaquant dispose d'une gamme de techniques pouvant être utilisées à des fins de piratage.

Ces techniques peuvent planter un système, le modifier et/ou permettre l'accès à des informations privées. Les systèmes sans validation des entrées deviennent des cibles populaires pour les pirates et Internet est constamment recherché pour eux.

Bien que la validation des entrées soit principalement utilisée à des fins de sécurité, elle joue également un rôle important en informant les utilisateurs lorsqu'ils ajoutent quelque chose de manière incorrecte.