639 tutoriels en ligne

Créa-blog

#100JoursPourCoder
Projet Créa-code | Formation Créa-troyes

Ressources pour développeur web

Théme de la semaine : Search Console

httpx et pentesting : Scan des infos et failles d’un domaine

Temps de lecture estimé : 8 minutes
Accueil Sécurité httpx et pentesting : Scan des infos et failles d’un domaine

Si vous travaillez dans la cybersécurité ou le développement web, vous savez que la vitesse et la fiabilité des données sont vos meilleures alliées. C’est ici qu’entre en scène httpx, un outil qui a radicalement changé la donne pour scanner des domaines web.

  • Apprenez à automatiser la détection de milliers de services web simultanément.
  • Identifiez les technologies cachées et les configurations vulnérables pour cibler vos audits de sécurité.
  • Maîtrisez l’art de l’exploration furtive pour obtenir des données critiques sans déclencher les alertes des systèmes de protection modernes.

Dans ce tutoriel, vous allez découvrir comment transformer votre terminal en une véritable machine de guerre pour le pentesting. De l’installation à la maîtrise des commandes secrètes, vous allez apprendre à passer au peigne fin des milliers de domaines en un clin d’œil pour débusquer les technologies cachées et les failles que les autres ne voient pas.

Qu’est-ce que httpx et à quoi sert-il ?

Pour comprendre l’utilité de httpx, il faut d’abord regarder comment fonctionne le web moderne. Imaginez que vous soyez un détective privé chargé de vérifier si des milliers de portes (les URL) sont ouvertes ou fermées dans une ville géante. Utiliser un navigateur classique pour cela, c’est comme essayer de visiter chaque maison à pied. C’est interminable.

httpx est un outil en ligne de commande (CLI), qui s’utilise depuis le terminal, ultra-rapide conçu pour envoyer des requêtes HTTP. Il est développé par l’équipe de ProjectDiscovery, bien connue dans le monde du pentesting (test de pénétration).

Le principe de HTTPX

Sa mission est simple : Prendre une liste d’adresses web et vous dire tout ce qu’il y a à savoir sur elles en une fraction de seconde.

Dans le cadre d’un audit de sécurité ou de pentesting, on l’utilise pour la phase de reconnaissance. Il permet de :

  1. Vérifier si un site est réellement en ligne (le « prober »).
  2. Identifier les technologies utilisées (serveur Apache, Nginx, frameworks).
  3. Lire les codes de réponse (200 OK, 404 Not Found, 403 Forbidden).
  4. Extraire des titres de pages, des adresses IP ou des hashes de certificats TLS.

httpx analyse en profondeur avec une intelligence rare pour un outil aussi léger. Il est capable de gérer les protocoles HTTP/1.1, HTTP/2 et même le tout récent HTTP/3, ce qui est crucial pour ne rien rater lors de vos analyses.

Comment installer httpx ?

Avant de manipuler cet outil de précision, il faut l’installer correctement. Ne vous inquiétez pas, même si vous n’avez jamais touché à un terminal de votre vie, la procédure est simple. httpx est écrit en langage Go, ce qui le rend extrêmement performant et compatible avec Windows, macOS et Linux.

Étape 1 : Installer Go (Le moteur)

Puisque httpx est basé sur Go, vous devez avoir l’environnement Go sur votre machine. Si ce n’est pas le cas, rendez-vous sur le site officiel de Go et téléchargez la version correspondant à votre système.

Une fois installé, vérifiez que tout fonctionne en tapant cette commande dans votre terminal :

go version

Si un numéro de version s’affiche, vous êtes prêt pour la suite.

Étape 2 : Installer httpx

La méthode la plus simple consiste à utiliser la commande « install » de Go. Elle va chercher le code source, le compiler et créer l’exécutable pour vous. Tapez simplement :

go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

Le drapeau -v (pour verbose) vous permet de voir ce qu’il se passe pendant l’installation, ce qui est toujours rassurant pour un débutant.

Étape 3 : Configurer le « PATH »

C’est ici que beaucoup de débutants bloquent. Si vous tapez httpx et que votre ordinateur vous répond qu’il ne connaît pas cette commande, c’est que l’exécutable est caché dans un dossier spécial (généralement ~/go/bin).

  • Vous devez dire à votre système d’aller regarder dans ce dossier.

Sur Linux ou Mac, vous devrez ajouter une ligne à votre fichier .bashrc ou .zshrc :

export PATH=$PATH:$(go env GOPATH)/bin

Après avoir redémarré votre terminal, la magie devrait opérer.

Première mission : La prise en main de httpx

Scanner un domaine simple :

httpx -u https://example.com

Renvoie simplement :

https://exemple.com

Ce que ça signifie concrètement :

  1. HTTPX a testé l’URL
  2. Le serveur répond
  3. Aucune option d’affichage supplémentaire n’a été demandée
  4. Donc il affiche uniquement l’URL valide

Pourquoi vous n’avez pas plus d’informations ? Parce que par défaut, httpx affiche uniquement les hôtes actifs. Vous n’avez pas demandé :

  • le code HTTP
  • le titre
  • les technologies
  • les infos TLS
  • etc.

Donc le résultat reste minimaliste.

Afficher le titre et le code HTTP

httpx -u example.com -title -status-code

Sortie typique :

https://example.com [200] [Example Domain]

Vérifier HTTPS + certificat

httpx -u example.com -tls-probe

👉 Permet d’obtenir des infos sur le certificat SSL/TLS.

Récupérer les technologies détectées

httpx -u example.com -tech-detect

Exemple de résultat :

[Apache] [PHP] [WordPress]

Scanner avec ports personnalisés

httpx -u example.com -ports 80,443,8080,8443

Pratique pour détecter des services web sur ports non standards.

Filtrer uniquement les sites actifs

httpx -u example.com -silent

Affiche uniquement les URLs qui répondent (très utilisé dans les pipelines).

Récupérer le favicon hash (utile en OSINT)

httpx -u example.com -favicon

Permet ensuite de rechercher d’autres sites utilisant le même favicon (Shodan, etc.).

Sauvegarder les résultats dans un fichier

httpx -l domains.txt -title -status-code -o resultats.txt

Exemple en pipeline : Workflow courant

subfinder -d example.com | httpx -title -status-code -tech-detect

Enchaînement classique reconnaissance → vérification des services actifs.

👉 Consultez notre tutoriel sur subfinder.

⚠️ Important

HTTPX est un outil puissant utilisé en pentesting et bug bounty. Vous devez :

Exemples concrets de l’utilisation de httpx : Méthodologie et worflow

Imaginez la scène suivante. Un matin, votre patron (ou un client en freelance) arrive paniqué : « On vient de racheter une entreprise qui possède 200 sous-domaines, on ne sait même pas ce qu’il y a dessus ! ». Plutôt que de paniquer, vous ouvrez votre terminal. C’est là que l’aspect « humain » du pentesting prend tout son sens : vous allez passer pour un magicien.

L’utilisation basique : Vérifier la survie

La manière la plus simple d’utiliser l’outil est de lui donner une liste de domaines. Imaginons que vous ayez un fichier domaines.txt contenant une liste d’URL. La commande sera :

httpx -l domaines.txt
  • Ici, -l signifie « list ». 

httpx va parcourir chaque ligne et afficher celles qui répondent. C’est le niveau zéro du scan, mais c’est déjà un gain de temps phénoménal.

Ajouter du détail avec les codes de statut

Savoir qu’un site est « en vie » est une chose, savoir s’il vous rejette ou s’il n’existe plus en est une autre. Pour afficher les codes HTTP (les fameux 200, 404, 500), on ajoute l’option -status-code :

httpx -l domaines.txt -status-code

Vous verrez alors apparaître à côté de chaque URL le résultat de la requête. Un 200 signifie que la porte est ouverte, un 403 indique un accès restreint (très intéressant pour un pentester !), et un 301 montre une redirection.

👉 Consultez notre sur les Les codes de statut HTTP

Extraire des informations précieuses

C’est ici que l’on sépare les amateurs des professionnels. httpx possède des fonctionnalités d’extraction qui permettent d’éviter d’ouvrir chaque page manuellement.

Maintenant, nous allons extraire le titre des pages et le serveur. Si vous voulez savoir ce que contient chaque site sans les visiter, demandez les titres :

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?
httpx -l domaines.txt -title -tech-detect

L’option -tech-detect est particulièrement puissante pour le pentesting. Elle utilise les signatures de l’outil Wappalyzer pour deviner si le site utilise WordPress, Cloudflare, PHP ou un serveur spécifique. C’est comme avoir des rayons X pour voir à travers les serveurs.

Lors d’un audit de sécurité pour une grande collectivité, j’avais une liste de 1500 adresses IP à vérifier. En utilisant un script classique, cela aurait pris des heures. Avec httpx, j’ai lancé une commande pour extraire uniquement les titres des pages et les versions des serveurs. En moins de deux minutes, j’ai repéré une vieille interface de gestion de climatisation oubliée sur un serveur de test, dont le titre était « Admin Panel – Version 1.0 (Non sécurisé) ». Sans la rapidité de cet outil, cette faille serait passée inaperçue parmi la masse de données.

HTTPX et le filtrage intelligent : Ne gardez que la crème de la crème

Dans la vie d’un chercheur en sécurité, le bruit numérique est l’ennemi numéro un. Imaginez que vous scanniez 5000 sous-domaines et que 4500 d’entre eux renvoient une page d’erreur 404. Si vous ne filtrez pas ces résultats, vous allez perdre un temps précieux à trier des déchets.

httpx excelle dans l’art de la précision grâce à ses options de filtrage. Vous pouvez lui dire : « Ne me montre que ce qui est intéressant ».

Filtrer par code de statut ou par taille

Si vous ne voulez voir que les sites qui fonctionnent réellement, vous utiliserez l’option -mc (match code) :

httpx -l domaines.txt -mc 200,302

À l’inverse, si vous voulez ignorer les pages qui ne vous intéressent pas (comme les erreurs « Interdit »), utilisez -fc (filter code) :

httpx -l domaines.txt -fc 403,401

Vous pouvez même filtrer par la « taille » de la réponse.

Si 200 sites affichent exactement la même page de maintenance (même nombre de mots, même poids en octets), il est inutile de les analyser un par un. On utilise alors -ml (match length) ou -fl (filter length) pour écarter ces doublons visuels.

L’art de la discrétion et de la performance

Faire du pentesting, c’est aussi savoir doser sa force. Si vous envoyez 1000 requêtes par seconde sur un petit serveur, vous risquez de le faire tomber (ce qu’on appelle un déni de service) ou de vous faire bannir immédiatement par le pare-feu.

Maîtriser la vitesse : Threads et Rate Limit

httpx vous permet de contrôler la cadence. Par défaut, il est très rapide, mais vous pouvez le brider pour rester discret :

  • -t (threads) : définit le nombre de requêtes simultanées.
  • -rl (rate-limit) : définit le nombre maximum de requêtes par seconde.

Par exemple, pour un scan tranquille et respectueux :

httpx -l domaines.txt -t 10 -rl 5

Simuler un vrai visiteur

Certains serveurs bloquent les outils automatisés. Pour contourner cela, vous devez faire croire au serveur que vous utilisez un navigateur classique (Chrome ou Firefox). On utilise pour cela un « User-Agent ». httpx peut en générer un aléatoirement pour vous :

httpx -l domaines.txt -random-agent

C’est une astuce simple, mais elle fait souvent la différence entre un résultat vide et une mine d’informations.

👉 Le rôle de l’user-agent

Des fonctionnalités « Couteau Suisse » pour les experts

Ce qui rend cet outil unique, c’est sa capacité à faire des choses que l’on devait autrefois confier à trois outils différents.

Extraire les adresses IP et les réseaux

Lors d’une phase de reconnaissance, il est crucial de savoir où sont hébergés les sites. Sont-ils tous chez Amazon ? Chez un hébergeur local ?

httpx -l domaines.txt -ip -asn

L’option -asn (Autonomous System Number) vous donne l’identité du réseau. C’est extrêmement pratique pour regrouper les cibles par infrastructure.

Chercher des vulnérabilités spécifiques

Vous pouvez demander à httpx de chercher des fichiers sensibles, comme un fichier .env ou un dossier .git exposé. Ce genre de « fuite » est une mine d’or en pentesting.

httpx -l domaines.txt -path /.git/config -mc 200

Ici, l’outil va tester l’existence de ce fichier sur chaque domaine de votre liste et ne vous alertera que s’il reçoit un code 200 (succès).

Manipulation des données : Sorties et formats

Une fois votre scan terminé, vous ne voulez pas simplement que les résultats défilent sur votre écran noir. Vous voulez les exploiter, peut-être dans un rapport ou dans un autre logiciel.

Sauvegarder dans un fichier

Pour garder une trace, on utilise l’option -o (output) :

httpx -l domaines.txt -o resultats.txt

Le format JSON : Le langage des pros

Si vous travaillez avec des scripts Python ou si vous voulez importer vos données dans une base de données, le format JSON est indispensable. Il structure chaque information (IP, titre, tech, code) de manière claire :

httpx -l domaines.txt -json -o resultats.json

👉 Pour aller plus loin : JQ : manipuler du JSON depuis le terminal

Analyser pour agir : Que faire après le scan ?

Félicitations, vous avez maintenant votre fichier de résultats ! Mais avoir 500 lignes de texte ne sert à rien si vous ne savez pas quoi chercher. Dans le monde du pentesting, le scan n’est que le début. C’est l’interprétation qui fait de vous un expert.

1. Trier par « Surface d’Attaque »

Regardez vos résultats JSON ou vos colonnes de statut. Votre priorité doit être :

  • Les codes 200 avec des technos obsolètes : Si vous voyez un vieux serveur Apache ou une version de PHP datant de 2018, c’est une cible prioritaire.
  • Les codes 403 (Forbidden) : Pourquoi ce dossier est-il interdit ? Parfois, une simple erreur de configuration permet d’y accéder via une autre méthode (comme changer le User-Agent avec httpx !).
  • Les titres révélateurs : Cherchez des mots comme « Dashboard », « Setup », « Config » ou « Index of ». Ils indiquent souvent des interfaces non protégées.

2. Identifier les « Low-Hanging Fruits »

C’est un terme de pentesting pour désigner les failles faciles à cueillir. Si httpx vous a révélé un fichier .git ou .env (grâce à l’option -path), votre mission est presque terminée : vous venez de trouver une fuite de données majeure.

3. Les outils complémentaires

httpx est un excellent éclaireur, mais un bon détective ne part jamais avec un seul outil. Voici comment créer une véritable chaîne de production (un « pipeline ») de reconnaissance.

Voici les outils de la même famille qui travaillent main dans la main avec httpx :

OutilRôleLien avec httpx
SubfinderTrouve les sous-domainesIl donne la liste d’entrée à httpx.
NaabuScanne les ports ouvertsIl vérifie quels ports (80, 443, 8080) httpx doit tester.
NucleiCherche les vulnérabilitésIl utilise les résultats de httpx pour lancer des tests d’intrusion ciblés.
KatanaExplore les liens (Crawling)Il va plus loin que httpx en « cliquant » sur tous les liens internes.

Exemple de chaîne de commande (Pipeline) : Pour passer de « Zéro » à « Expert » en une seule ligne, vous pouvez « chaîner » les outils. C’est la puissance absolue du terminal :

subfinder -d cible.com | naabu -silent | httpx -title -tech-detect | nuclei

Explication de cette formule magique :

  1. Subfinder trouve tous les domaines liés à la cible.
  2. Naabu vérifie quels ports sont ouverts.
  3. httpx analyse chaque port pour voir si c’est un site web et quelle technologie il utilise.
  4. Nuclei prend le relais pour tester si ces technologies ont des failles connues.

Une fois votre scan httpx terminé, ne vous arrêtez pas là. Utilisez ces données pour nourrir des outils plus spécialisés. C’est en croisant les informations (IP, technologies, titres) que vous finirez par trouver la faille que tout le monde a manquée.

Tableau récapitulatif des commandes essentielles de httpx

Pour vous aider à ne pas vous perdre dans la jungle des options, voici un tableau de bord que vous pouvez garder sous les yeux lors de vos tests.

CommandeDescriptionPourquoi l’utiliser ?
-lListe de domaines en entréePour traiter plusieurs cibles d’un coup.
-status-codeAffiche le code HTTPPour savoir si la page est accessible (200, 403…).
-titleAffiche le titre de la pagePour identifier le contenu sans ouvrir le navigateur.
-tech-detectDétecte les technologiesPour savoir si c’est du WordPress, PHP, etc.
-ipAffiche l’adresse IPUtile pour la cartographie réseau.
-mc 200Filtre les succèsPour ignorer les erreurs et les pages vides.
-follow-redirectsSuit les redirectionsPour voir où le site nous envoie réellement.
-random-agentChange l’identitéPour éviter d’être bloqué par les pare-feu.
-jsonSortie structuréePour l’automatisation et les rapports détaillés.
-tdAffiche les en-têtes (headers)Pour voir les détails de sécurité du serveur.

Vous l’aurez compris, httpx n’est pas seulement un outil de plus dans la panoplie du hacker éthique ; c’est un véritable outil de productivité. En automatisant la vérification de milliers d’URLs, il vous permet de vous concentrer sur la partie la plus noble du pentesting : l’analyse stratégique et la recherche de failles complexes.

Apprendre à maîtriser ses paramètres, c’est apprendre à parler le langage du web de manière fluide et rapide. N’oubliez jamais qu’en cybersécurité, l’outil ne fait pas l’expert, mais l’expert sait choisir l’outil qui lui donnera une longueur d’avance. Alors, à vos terminaux, et explorez le web comme vous ne l’avez jamais fait !

Pour vous entrainer au pentesting : DVWA : Le tutoriel complet