authentication testing
L'authentification (en grec: αυθεντικός = vrai ou authentique, de 'authentes'=auteur) est l'acte d'établir ou de confirmer quelque chose (ou quelqu'un) comme authentique, c'est-à-dire, qui prétend que la chose faite ou son auteur sont vrais. l'authentification d'un objet peut signifier confirmer sa provenance, alors que l'authentification d'une personne consiste souvent à vérifier son identité. L'authentification dépend d'un ou plusieurs facteurs d'authentification. En sécurité informatique, l'authentification est le processus de vérification de l'identité numérique de l'expéditeur d'une communication. Un exemple courant d'un tel processus est le processus d'ouverture de session. Tester le schéma d'authentification signifie comprendre comment fonctionne le processus d'authentification et utiliser cette information pour contourner le mécanisme d'authentification.
testing_for_credentials_transported_over_an_encrypted_channel
Tester le transport des informations d'identification signifie vérifier que les données d'authentification de l'utilisateur sont transférées via un canal crypté pour éviter d'être interceptées par des utilisateurs malveillants. L'analyse se contente de déterminer si les transports de données non cryptés à partir du navigateur au serveur sont possibles, ou si l'application Web prend les mesures de sécurité appropriées en utilisant un protocole tel que HTTPS. Le protocole HTTPS est construit sur TLS / SSL pour chiffrer les données transmises et faire en sorte que l'utilisateur est dirigé au bon endroit. De toute évidence, le fait que le trafic soit chiffré ne signifie pas nécessairement qu'il est totalement sûr. La sécurité dépend aussi de l'algorithme de chiffrement utilisé et de la robustesse des clés que l'application utilise, mais ce sujet en particulier ne sera pas abordé dans cette section.
testing_for_user_enumeration_and_guessable_user_account
Le champ d'application de ce test est de vérifier s'il est possible de recueillir un ensemble de noms d'utilisateurs valides en interagissant avec le mécanisme d'authentification de l'application. Ce test sera utile pour tester le « brute force », dans lequel on vérifie si, étant donné un mot de passe valide, il est possible de trouver le mot de passe correspondant. Souvent, les applications Web révélent quand un nom d'utilisateur existe sur le système, que ce soit à la suite d'une mauvaise configuration ou d'une décision de conception. Par exemple, parfois, lorsque nous soumettons des références erronées, nous recevons un message indiquant que soit le nom d'utilisateur est présent sur le système soit le mot de passe fourni est incorrect. Les informations obtenues peuvent être utilisées par un attaquant afin d'obtenir une liste d'utilisateurs sur le système. Cette information peut être utilisée pour attaquer l'application web, par exemple, par « brute force » ou d'attaque par nom d'utilisateur / mot de passe par défaut.
testing_for_default_credentials
De nos jours, les applications Web utilisent souvent de l'open source populaire ou un logiciel commercial qui peut être installé sur les serveurs avec une configuration minimale ou personnalisée par l'administrateur du serveur. En outre, un grand nombre de dispositifs matériels (routeurs et serveurs de bases de données), offrent configurations Web ou des interfaces d'administration. Souvent, ces applications, une fois installées, ne sont pas correctement configurés et les informations d'identification fournies par défaut pour l'authentification et la configuration initiales ne sont jamais modifiées.
Ces informations d'identification par défaut sont bien connus par les testeurs de pénétration et, malheureusement, aussi par des attaquants malveillants, qui peuvent les utiliser pour accéder à différents types d'applications.
En outre, dans de nombreuses situations, lorsqu'un nouveau compte est créé sur une application, un mot de passe par défaut (avec quelques caractéristiques standard) est généré. Si ce mot de passe est prévisible et que l'utilisateur ne la modifie pas lors du premier accès, cela peut permettre à un attaquant d'obtenir un accès non autorisé à l'application.
testing_for_weak_lock_out_mechanism
- DoS Account lockout
testing_for_bypassing_authentication_schema
La plupart des applications nécessitent une authentification pour accéder à des informations confidentielles ou pour exécuter des tâches, mais toutes les méthode d'authentification ne sont en mesure d'assurer une sécurité adéquate.
La négligence, l'ignorance ou le simple fait de minimiser les menaces à la sécurité donnent souvent lieu à des schémas d'authentification qui peuvent être contournées par la simple fait de sauter la page de connexion et d'appeler directement une page interne qui est censé être accessible uniquement après authentification.
En plus de cela, il est souvent possible de contourner les mesures d'authentification par des manipulations de requêtes et tromper l'application en faisant croire que nous sommes déjà authentifié. Ceci peut être accompli soit en modifiant données des paramètres URL ou en manipulant la forme ou contrefaisant des sessions.
testing_for_vulnerable_remember_password_functionality
testing_for_browser_cache_weakness
testing_for_weak_password_policy
testing_for_weak_or_unenforced_username_policy
testing_for_failure_to_restrict_access_to_authenticated_resource
