Web Attacks
OWASP Top 10 : Les classiques indémodables.
Le Web est la surface d'attaque la plus exposée. La règle d'or : Ne jamais faire confiance aux données utilisateur (User Input). Toujours valider, filtrer et échapper les données entrantes ET sortantes.
💉 Injection SQL (SQLi)
Impact: CritiqueL'attaquant manipule la requête SQL pour accéder à des données non autorisées.
// PHP
$user = $_POST['user'];
$query = "SELECT * FROM users
WHERE name = '" . $user . "'";
// Attaque: ' OR '1'='1
// Result: SELECT * FROM users ...
// PHP (PDO)
$stmt = $pdo->prepare(
"SELECT * FROM users WHERE name = :name"
);
$stmt->execute(['name' => $user]);
// Le driver échappe l'input auto.
🎭 Cross-Site Scripting (XSS)
Impact: ÉlevéInjection de JavaScript malveillant qui s'exécute dans le navigateur de la victime.
Reflected XSS
Le script est dans l'URL (Lien piégé).
site.com?search=<script>alert(1)</script>
Stored XSS
Le script est stocké en BDD (Commentaire, Profil).
Bonjour <script>stealCookies()</script>
Échapper les données à l'affichage (Output Encoding).
En React/Vue/Angular, c'est automatique par défaut. En PHP :
htmlspecialchars().
🔄 CSRF (Cross-Site Request Forgery)
Forcer l'utilisateur à exécuter une action à son insu (ex: changer son mot de passe).
📬 Analogie
L'attaquant envoie une lettre à votre banque signée de VOTRE main (votre cookie de session valide) demandant un virement. La banque l'exécute car la signature est vraie.