Avant même que le fingerprinting n'ait de l'importance, tout serveur peut être amené à fuiter. Cette section rassemble les expositions indépendantes du produit : elles dépendent de l'accessibilité de fichiers et d'endpoints, pas du serveur web utilisé. Vérifier celles-ci en premier est peu coûteux et à fort rendement, et évite les répétitions dans les sections par produit.
Pourquoi c'est important#
C'est de la reconnaissance qui paie immédiatement. Le code source récupéré révèle les sinks exacts d'injection et de désérialisation ; un .env ou un fichier de config divulgué livre les identifiants de base de données et d'API ainsi que les clés secrètes du framework (qui déverrouillent cookies signés et ViewState) ; une page server-status expose les requêtes d'autres utilisateurs et des chemins internes. Rien de tout cela ne nécessite de toucher au code applicatif.
Pages#
- Endpoints de statut et d'info :
server-status,server-info,stub_statusde nginx et pages de statut PHP-FPM. - Répertoires de gestion de version :
.git,.svnet.hgexposés, et reconstruction du code source à partir d'eux. - Fichiers de sauvegarde et temporaires : fichiers swap d'éditeur,
.bak/~/.oldet archives oubliées. - Listing de répertoire : autoindex et navigation de répertoire comme source d'énumération.
- Config et dotfiles exposés :
.env, fichiers de config,.htaccesset dotfiles de métadonnées.
Références#
- PortSwigger Web Security Academy : Information disclosure
- OWASP WSTG : Testing for information leakage