Cartographier une application web : points d'entrée, technologies
11 min · Intermédiaire · 7 août 2026
Deux questions à répondre : où, et avec quoi
Cartographier une application web répond à deux questions distinctes : quels sont ses points d’entrée (où une donnée peut-elle atteindre le serveur), et avec quelles technologies est-elle construite (ce qui oriente les failles à rechercher en priorité).
Trouver les points d’entrée
- robots.txt et sitemap.xml : révèlent souvent des chemins que le site préfère ne pas voir indexés, ou au contraire liste exhaustivement les pages publiques.
- Formulaires et champs de saisie : chaque champ est un point d’entrée potentiel, au sens du premier chapitre du cours sur les injections SQL.
- Paramètres d’URL et appels d’API : visibles en observant le trafic normal de l’application, souvent bien plus nombreux que les seuls formulaires visibles.
Ce que les en-têtes HTTP révèlent sans le vouloir
Le chapitre sur les en-têtes du cours HTTP a introduit leur rôle général. En reconnaissance, ils deviennent une source d’indices sur la pile technique de la cible :
en_tetes_reponse = {
"Server": "nginx/1.18.0",
"X-Powered-By": "PHP/7.4.3",
"Set-Cookie": "PHPSESSID=abc123; path=/",
"X-Generator": "WordPress 5.8"
}
indices = []
if "Server" in en_tetes_reponse:
indices.append(f"Serveur web : {en_tetes_reponse['Server']}")
if "X-Powered-By" in en_tetes_reponse:
indices.append(f"Langage / framework : {en_tetes_reponse['X-Powered-By']}")
if "PHPSESSID" in en_tetes_reponse.get("Set-Cookie", ""):
indices.append("Session PHP native detectee (nom de cookie par defaut)")
if "X-Generator" in en_tetes_reponse:
indices.append(f"CMS : {en_tetes_reponse['X-Generator']}")
print("Indices de technologie trouves dans ces en-tetes :")
for indice in indices:
print(" -", indice) Un simple nom de cookie par défaut (PHPSESSID, JSESSIONID, ASP.NET_SessionId) suffit souvent à identifier un langage serveur, sans qu’aucun en-tête explicite ne soit nécessaire.
Astuce
Beaucoup d’équipes de sécurité masquent volontairement ces en-têtes (numéro de version en particulier) en durcissement. C’est une mesure complémentaire utile, jamais suffisante seule : elle ralentit la reconnaissance sans corriger la moindre faille sous-jacente, et d’autres indices (comportement, structure des erreurs) permettent souvent de contourner ce masquage.