Site web
 Une application web pleine de bogues peut compromettre toute une infrastructure (oui, on en a vu des exemples dans la réalité). Les applications web peuvent être affectées par toutes sortes de problèmes allant de l'injection de code à distance (un attaquant peut obliger une application à exécuter un code arbitraire), à des problèmes de contrôle d'accès (un utilisateur peut voir les données privées d'un autre utilisateur).
Nous proposons une analyse approfondie des applications web, y compris si nécessaire un examen de leurs codes sources. Nous avons accumulé une vaste expérience de tests de diverses applications web, comme les applications bancaires en ligne, le commerce électronique, la messagerie web, l'assistance en ligne à la clientèle, les forums, etc. Nous avons conduit des examens de codes sources d'applications écrites en Java, PHP, ASP, ASP.NET, C#, et C/C++.
Les applications web sont habituellement examinées pour les problèmes suivants :
- Authentification. L'application assure-t-elle une authentification assez rigoureuse? Est-il possible de contourner l'authentification? Si l'on utilise des mots de passe, les mécanismes de gestion des mots de passe (réinitialisation du mot de passe, changement du mot de passe) sont-ils mis en oeuvre de manière sécurisée?
- L'autorisation. Les contrôles d'autorisation sont-ils systématiquement effectués? Est-il possible d'accéder à des pages de l'application sans autorisation? Est-il possible d'effectuer sans autorisation des actions qui requièrent une autorisation?
- Contrôle de l'accès. Est-il possible d'accéder aux données d'autres utilisateurs? Est-il possible d'accéder à des fonctions d'administration ou de gestion?
- Gestion de session. Comment la gestion de session est-elle mise en oeuvre? Est-il possible de prévoir ou de deviner les jetons de session?
- Logique d'application. Est-il possible de faire faire quelque chose d'inattendu à l'application, par exemple d'acheter un montant négatif d'articles, ou de contourner l'ordre de payement?
- Injection SQL. L'application gère-t-elle convenablement les entrées des utilisateurs quand elle est utilisée pour des requêtes SQL?
- Le cross-site scripting. L'application traite-t-elle correctement une entrée saisie par l'utilisateur, qui est affichée pour celui-ci ou d'autres utilisateurs?
- Injection de code. L'application utilise-t-elle une entrée d'utilisateur pour construire/inclure des chemins? L'application utilise-t-elle des entrées d'utilisateurs pour des évaluations/instructions? Est-il possible de charger des fichiers exécutables?
- Traversées de répertoire. L'application utilise-t-elle des entrées d'utilisateurs pour composer des noms de fichiers?
- LDAP filter injection, XPath injection, etc.
