Information disclosure (divulgation d'informations), identity theft (usurpation d'identité), SQL injection, Code injection, Authentication bypass (contournement d'identification), Cross site scripting (XSS) et Cross request forgery (XSRF) sont les 7 vulnérabilités les plus connues et exploitées sur les applications web. C'est en lisant le guide de sécurité publié par Typo3 que l'on peut trouver des détails sur ces vulnérabilités très courantes et dangereuses pour votre site web.
Cela signifie que le système (sous certaines conditions) rend une information accessible à une personne extérieure qui pourrait l'utiliser pour élaborer une attaque contre ce système. En général ces informations incluent des détails sur la structure du système de fichiers, sur les logiciels installés comme des options de configuration ou des numéros de version (comme sur Wordpress et ses plugins).
La différence est mince entre l'Information disclosure et la Security by Obscurity (la sécurité par l'obscurité). La sécurité par l'obscurité est un moyen qu'utilisent certains administrateurs systèmes et développeurs pour cacher leurs infrastructures et leurs logiciels utilisés sur leurs serveurs ou applications.
Un simple exemple pour Wordpress serait de ne pas révéler sa version. Mais les experts en sécurité disent que cette technique de "sécurité par l'obscurité" n'est pas sécurisée car tout simplement celle-ci ne résout en rien la racine d'un problème existant mais tente plutôt d'occulter les faits.
Sous certaines conditions il peut être possible que le système révèle des données personnelles, telles que des listes de clients, des adresses e-mail, des mots de passe, des historiques de commandes ou des transactions financières.
Ces informations peuvent être utilisées par des pirates pour ensuite être vendues ou exploitées.
Les serveurs et sites web doivent donc être sécurisés de telle sorte que les données ne puissent être récupérées sans le consentement du propriétaire.
Une injection SQL, c'est tenter d'envoyer une requête modifiée sur une base de données afin de compromettre celle-ci. En général pour récupérer des informations comme des mots de passe ou modifier le contenu de la base pour ajouter un administrateur. C'est pourquoi il est nécessaire de bien analyser et filtrer tous les paramètres qui sont utilisés dans une requête SQL. Si vous souhaitez plus d'infos, vous pouvez aller jeter un œil à l'article qui explique la mécanique d'une injection SQL.
L'injection de code est semblable à une injection SQL et peut se faire de deux manières. A distance via RFI (Remote Fil Inclusion) ou bien avec des fichiers locaux via LFI (Local File Inclusion).
Le code récupéré devient une partie du script qui serait exécuté dans le contexte du site (et a donc souvent les mêmes privilèges que pour l'accès au serveur). Ces deux types d'attaque, RFI et LFI, sont souvent déclenchées par une mauvaise vérification ou neutralisation des saisies de l'utilisateur comme les échappements de caractères. L'inclusion de fichiers locaux peut conduire à la divulgation d'informations pour par exemple afficher les fichiers du système qui peuvent contenir les paramètres de configuration, des mots de passe, des clés de chiffrement, etc...
Pour contourner les autorisations, le pirate exploite des vulnérabilités dans les applications mal conçues ou les formulaires de connexion (par exemple les données saisies dans les champs de formulaires). Il faut que le module d'authentification soit bien testé et examiné avant toute mise en production.
Une faille XSS est une technique d'attaque qui se produit lorsque les données qui sont traitées par le site web ne sont pas filtrées et échappées comme il faut.
Cela est fréquent avec des formulaires sur des sites web où l'utilisateur entre des informations qui sont ensuite traitées par le serveur. Lorsque ces données sont envoyées au navigateur de manière non filtrée, le code malveillant peut être exécuté. Un exemple typique est un formulaire de commentaires pour un blog ou bien un livre d'or.
Dans ce type d'attaque les commandes non-autorisées d'un pirate sont exécutées par un site web. En général en utilisant un utilisateur ayant des droits avancés.
Prenons comme exemple un éditeur connecté sur un blog et donc autorisé dans le système. Cette autorisation peut être stockée dans un cookie de session dans le navigateur de l'utilisateur. Un pirate pourrait envoyer un e-mail à la personne avec un lien qui pointe vers un site qui une fois ouvert, enverrai des commandes au serveur via le cookie d'authentification.
MISES A JOUR DE L'ARTICLE |