Introduction
Dernière mise à jour le: 5 Septembre 2024
Modifier cette page sur GitHubDernière mise à jour le: 5 Septembre 2024
Modifier cette page sur GitHubIl existe de nombreuses façons pour les cybercriminels de tenter d’attaquer des sites Web, notamment :
La sécurité des applications Web est un domaine de connaissances techniques approfondies avec de nombreux domaines de spécialisation. Ce parcours d’apprentissage vous fournira une compréhension générale des vulnérabilités des applications Web et du fonctionnement de certaines des plus courantes. Il devrait vous aider à comprendre les types de vulnérabilités qui existent généralement dans les applications Web, les capacités que ces vulnérabilités donnent aux cybercriminels et comment, en général, éliminer ou atténuer ces vulnérabilités.
Qu’est-ce qu’une application Web ?
Les applications Web font référence à une catégorie plus large de logiciels qui exécutent des services dynamiques disponibles sur le Web. Une page Web est un type d’application Web, bien qu’une page HTML statique ne soit généralement pas considérée comme telle. Les applications Web impliquent généralement une sorte de traitement de données côté client et/ou côté serveur, de stockage, de récupération, avec un contenu dynamique. Elles s’appuient généralement sur l’infrastructure, comme les bases de données, les serveurs supplémentaires ou les services cloud (y compris le « code sans serveur »). Les plateformes CMS courantes telles que WordPress ou Drupal sont des applications Web. De nombreuses organisations déploient diverses applications pour servir des fonctionnalités internes ou externes telles qu’une base de données de membres, un outil de gestion des relations constitutives, un système d’information sur la santé, un système de billetterie, des outils opérationnels internes et bien d’autres. Certaines organisations développeront leurs propres applications Web personnalisées adaptées à leurs propres besoins. Les principales plateformes de services Internet comme MailChimp, Slack, Canva, X, etc., sont toutes des applications Web, et leur sécurité affecte également leurs utilisateurs. Cependant, ces grandes entités ont leurs propres équipes de sécurité et programmes de bug bounty qui mènent ou encouragent des examens professionnels de sécurité des applications Web pour eux. Les petites organisations pour lesquelles vous travaillez, en revanche, n’ont souvent pas les ressources nécessaires pour effectuer des examens de sécurité des applications Web et vous pourriez la première personne à le faire.
Il existe de nombreuses sortes de défauts qui peuvent apparaître dans tout système compliqué. En général, nous les considérons comme des bugs normaux, où le système permet à ses utilisateurs de faire moins de choses que prévu. Par exemple, « lorsque je clique sur “Ajouter au panier”, le site Web renvoie simplement une page d’erreur. » Cependant, certains défauts permettent aux utilisateurs de faire plus que prévu. Lorsque ces failles impactent négativement le système ou les autres utilisateurs, nous considérons ces failles comme des vulnérabilités. Des exemples de vulnérabilités comprennent des failles qui permettraient à un utilisateur de lire ou de modifier les données d’autres utilisateurs, de prendre le contrôle de l’infrastructure sous-jacente du site Web, de refuser l’utilisation d’un système à d’autres utilisateurs, etc. Lorsque nous envisageons les vulnérabilités, il est utile de les regrouper par type. Ce parcours d’apprentissage fournit un aperçu des classes de vulnérabilités d’applications Web courantes et de la façon dont un cybercriminel peut les utiliser pour nuire à un site Web ou à ses utilisateurs.
Les participants apprendront les concepts fondamentaux de la sécurité des applications Web, fournissant l’arrière-plan nécessaire pour poursuivre d’autres sujets dans la sécurité des applications Web. Les participants seront en mesure de comprendre les concepts clés de la sécurité des applications Web, notamment :
De quels appareils ou logiciels avez-vous besoin pour réaliser les exercices ?
Pour compléter ce parcours d’apprentissage, nous utiliserons un site Web appelé DVWA (Damn Vulnerable Web App). DVWA est une application Web qui est intentionnellement vulnérable à diverses vulnérabilités. Elle nécessite une configuration minimale à utiliser et elle est disponible en ligne pour fournir une expérience sans aucune configuration.
Il existe plusieurs façons d’exécuter DVWA. Les meilleures instructions d’installation actuelles peuvent être trouvées sur le référentiel DVWA de GitHub. Comme cela est souligné dans la section Avertissement de cette page, DVWA ne doit pas être installée d’une manière qui l’expose à Internet. Les options pour l’exécuter comprennent :
Avant de commencer l’un des exercices, n’oubliez pas de vous connecter à DVWA (les identifiants par défaut sont admin/mot de passe) et assurez-vous que le niveau de sécurité est défini sur « Faible ».
Un exercice pratique vous oblige à installer et à utiliser un outil appelé rainbowcrack. En raison de sa configuration requise élevée et du fait que l’outil ne fonctionne que sur Linux et Windows, nous avons choisi de rendre cet exercice facultatif. Puisque l’objectif principal de cet exercice est d’illustrer un concept de sécurité, les apprenants qui ne peuvent pas ou ne veulent pas le compléter seront toujours en mesure de terminer l’ensemble du parcours d’apprentissage.
Un exercice en option nécessite une connaissance pratique de base de Python et une installation de Python. Cet exercice peut être ignoré par les apprenants qui ne sont pas familiers avec Python ou qui ne l’ont pas installé sur leurs systèmes.
Ce parcours d’apprentissage fournit un guide interne cohérent et autonome sur la sécurité des applications Web. Il est destiné à être lu en quelques courtes séances et à vous fournir le contexte nécessaire pour poursuivre un apprentissage approfondi de la sécurité des applications Web. Les parcours d’apprentissage de suivi suggérés comprennent :
Félicitations pour avoir terminé l'introduction !
Cochez la case pour confirmer que vous avez lu l'introduction et continuez vers le module suivant.
Marque l'introduction comme terminée et enregistre la progression de l'utilisateur.
Vous avez complété tous les modules de ce parcours d'apprentissage.