Je vais faire un petit protocole que tu peux suivre :
Vérifier les failles côté client :
- XSS ?
Est-ce que toutes les données côtés clients sont validées et modifiées si besoin (par exemple en PHP avec l'utilisation de htmlspecialchars, strip_tags) ?
Et les failles du côté serveur :
- Kernel à jour ?
Est-ce que le kernel est le dernier disponible ?
- CSRF ?
Est-ce que l'origine de l'utilisateur est vérifiée lors de la submission des formulaires ?
- SQLi ?
Est-ce que, si base de donnée il y a, les paramètres utilisés lors de la séléction (et l'insertion) de données sont vérifiés ? Par exemple avec une bonne utilisation de PDO, en PHP.
- RCE ?
Est-ce que des données soumises par le client sont utilisés pour exécuter du code, par exemple dans un eval (PHP) ?
- LFI ?
Est-ce que le site inclut des pages soumises par le client ? (exemple : site.com/home.php?include=main.php afficherait la page main.php) Si, oui, penser à vérifier que le fichier est dans une liste de fichier autorisés, dans le cas contraire le client pourrait include le fichier "../../../etc/passwd" ou autres.
- Logiciels à jour, sans exploits récents ?
Est-ce que le serveur mail, http, ... est le dernier disponible ?
Pour ce qui est d'outils automatisant ces tests, tu peux utiliser :
- nmap (pour vérifier la version des logiciels utilisés et voir les ports ouverts)
- BackTrack 5 (distribution GNU/Linux contenant déjà tout les outils nécéssaires à des audits de sécurité)
- Acunetix (pour trouver des vulnérabilités sur un site web)