🌐Analyse HTTP & Headers

Rapport technique de projet : Cybersécurité débutante | Analyse des headers HTTP

Contexte du Projet

Objectif du projet

Ce projet s’inscrit dans une démarche d’apprentissage pratique de la cybersécurité. L’objectif principal était d’analyser les headers HTTP renvoyés par mon propre site web secureaweb.fr, afin de comprendre leur rôle, leur contenu et leurs implications en matière de sécurité.

En tant qu’étudiante autodidacte, j’ai choisi de travailler directement sur un domaine que je possède, ce qui m’a permis d’avoir une vision concrète et réelle et non simulée des en-têtes qu’un serveur web renvoie à chaque requête HTTP.

Pourquoi les headers HTTP ?

Les en-têtes HTTP sont souvent invisibles pour l’utilisateur final, mais ils jouent un rôle fondamental dans la communication entre un client (navigateur) et un serveur. Ils transportent des informations critiques sur la sécurité, le type de contenu, les permissions et la gestion des connexions.

Le protocole HTTP

HTTP (HyperText Transfer Protocol) est le protocole de base du Web. Chaque échange entre un navigateur et un serveur se compose de :

  • Requête — envoyée par le client (GET, POST…)
  • Réponse — renvoyée par le serveur avec un code de statut
  • Headers — métadonnées associées à chaque échange
  • Body — contenu de la page ou des données

Les headers sont des paires clé-valeur qui précisent comment interpréter la réponse, gérer la connexion, et appliquer des politiques de sécurité.

</> Code Python & Exécution

Environnement & Script Python

Replit — Un environnement de développement en ligne

Pour ce projet, j’ai aussi utilisé Replit, une plateforme de développement en ligne qui permet d’écrire et d’exécuter du code directement dans le navigateur, sans aucune installation locale. C’est un outil particulièrement adapté aux apprenants en cybersécurité : il est accessible, rapide à configurer et disponible sur tous les appareils, y compris mobile.

ⓘ 📌 Pourquoi Replit ? Pas besoin de configurer un environnement local, les bibliothèques Python comme requests sont disponibles directement, et le terminal intégré permet de visualiser les résultats immédiatement.

Le script Python

Le script utilise la bibliothèque requests, l’une des plus populaires en Python pour effectuer des requêtes HTTP. En quelques lignes seulement, il est possible d’envoyer une requête GET vers une URL et de récupérer l’ensemble des headers renvoyés par le serveur.

import requests

url = "https://secureaweb.fr"

response = requests.get(url)
headers = response.headers

print("URL :", url)

for key, value in headers.items():
    print(key, ":", value)

Le script parcourt le dictionnaire response.headers et affiche chaque paire clé-valeur dans le terminal, offrant une lecture claire et structurée des en-têtes reçus.

Étapes d’exécution

01 – Création de l’environnement de travail

Ouverture d’un environnement Python en ligne et écriture du script directement dans l’éditeur.

02 – Écriture du script Python

Utilisation de la bibliothèque requests pour envoyer une requête HTTP vers le domaine https://secureaweb.fr.

03 – Exécution du programme

Lancement du script via le bouton “Run” afin d’envoyer la requête et récupérer la réponse du serveur.

04 – Analyse des résultats

Lecture des headers HTTP affichés dans le terminal pour observer les informations techniques renvoyées par le serveur.

📊Analyse & Résultat

Analyse des Headers de secureaweb.fr

Voici les principaux headers HTTP observés lors de l’exécution du script sur le domaine secureaweb.fr, accompagnés de leur explication pédagogique.

🎓Conclusion

Importance en Cybersécurité & Compétences Acquises

Pourquoi les headers sont critiques en sécurité

Les headers HTTP sont une première ligne de défense contre de nombreuses attaques web. Ils permettent d’activer ou de désactiver des mécanismes de sécurité côté navigateur, de contrôler les politiques d’accès, et de révéler (ou dissimuler) des informations sur l’infrastructure serveur.

➜ Protection XSS

Le header Content-Security-Policy limite les sources de scripts exécutables, réduisant le risque d’attaques Cross-Site Scripting.

➜ Clickjacking

X-Frame-Options empêche l’intégration de la page dans une iframe, contrant les attaques de type clickjacking.

➜ HTTPS forcé

Strict-Transport-Security oblige le navigateur à toujours utiliser HTTPS, protégeant contre les attaques Man-in-the-

Compétences acquises

🐍Python appliqué

Utilisation de la bibliothèque requests pour des requêtes HTTP réelles.

📝Protocole HTTP

Compréhension approfondie de la structure des échanges HTTP et du rôle des headers.

🔐Audit de sécurité

Premiers pas dans l’analyse de la surface d’attaque d’un site web réel.

☁️Environnement Replit

Maîtrise d’un outil de développement en ligne adapté à l’apprentissage.

Ce projet m’a permis de passer de la théorie à la pratique : analyser de vrais headers HTTP sur mon propre domaine m’a donné une vision concrète des enjeux de sécurité web. Chaque header est une décision de configuration et chaque décision a des conséquences en matière de protection.

Retour en haut