Qu'est-ce qu'un test de pénétration d'applications Web?
Un test de pénétration d'application Web est une activité conçue pour évaluer le comportement d'un programme basé sur Internet lors d'une attaque ou d'une exploitation. Ces tests utilisent divers logiciels pour analyser une application, puis exécutent différentes actions susceptibles de se produire lors d’une attaque réelle. Un test de pénétration d'application Web peut être effectué par une équipe de développement ou un fournisseur de services tiers. Si un fournisseur externe est utilisé, l'équipe de développement ou le personnel des technologies de l'information (TI) ne sera parfois pas informé du test par la direction. Cela peut permettre à un test de pénétration d'application Web de découvrir des failles qui auraient autrement pu passer inaperçues, ce qui peut permettre de résoudre ces problèmes avant la publication du logiciel.
Les applications Web sont des progiciels accessibles et exécutables sur Internet. Ces applications peuvent remplir de nombreuses fonctions et, dans certains cas, elles sont responsables du traitement de données considérées comme privées, voire précieuses. Afin de ne pas compromettre les attaques, des tests de pénétration sont généralement effectués pour localiser les faiblesses ou les zones facilement exploitées dans le code.
Les tests de pénétration des applications Web typiques commencent par une phase de collecte d'informations. Le but de cette étape est de déterminer autant d'informations que possible sur l'application. En envoyant des requêtes à l'application et en utilisant des outils tels que des scanners et des moteurs de recherche, il est souvent possible d'obtenir des informations telles que les numéros de version de logiciels et les messages d'erreur souvent utilisés pour rechercher ultérieurement des exploits.
Après avoir accumulé une quantité suffisante d’informations, l’objectif suivant d’un test de pénétration des applications Web consiste à effectuer un certain nombre d’attaques et d’exploits. Dans certains cas, les informations recueillies au cours de la première phase permettront d'identifier les exploitations auxquelles l'application pourrait être vulnérable. Si aucune vulnérabilité évidente n'a été détectée, une gamme complète d'attaques et d'exploits peut être tentée.
Un test de pénétration d'application Web permet de détecter de nombreuses vulnérabilités techniques. Ces tests tenteront généralement d’utiliser des méthodes telles que la manipulation du localisateur de ressources universel (URL), le détournement de session et l’injection de langage de requête structurée (SQL) pour pénétrer dans une application. Il peut également y avoir une tentative d'initialisation d'un débordement de mémoire tampon ou d'autres actions similaires susceptibles de provoquer un comportement anormal d'une application. Si l'une de ces attaques ou exploits force l'application à révéler des données sensibles au testeur de pénétration, les défauts sont généralement signalés avec le plan d'action suggéré.