Module 3Protéger les applications Web
Chapitre 9 sur 9
Examen blanc et fiche mémo
Un examen blanc corrigé de 40 points et une fiche mémo de tout le module.
- ≈ 75 min
- 1 leçon
- 3 exercices
- TP
Module 3Protéger les applications Web
Chapitre 9 sur 9
Un examen blanc corrigé de 40 points et une fiche mémo de tout le module.
Objectifs
Avec ce chapitre, tu sauras…
L'examen blanc dure 2 heures et compte 40 points. Fais-le sans le cours, puis corrige-toi avec le barème. Note les questions ratées : elles te disent quelles sections relire.
Leçon 1
Tableau: Les bases
| Notion | À retenir |
|---|---|
| risque | actif, menace, vulnérabilité, attaque ; risque = probabilité × impact ; contre-mesure |
| triade CID | confidentialité (lire), intégrité (exactitude), disponibilité (accès) ; + authentification, non-répudiation, traçabilité |
| McCumber | objectifs CID × états (stockage, transmission, traitement) × contre-mesures (technologie, politiques, humain) |
| malwares | virus (hôte), ver (seul), cheval de Troie, rançongiciel, spyware, keylogger, rootkit, backdoor, bot |
| types de virus | fichier, macro, pirate de navigateur, secteur de démarrage, polymorphe, résident, multipartite |
| droit d'auteur | automatique ; © informatif ; droit moral + droits patrimoniaux (vie + 70 ans) ; titulaire selon contrat ; licences |
| Attaque | Parade |
|---|---|
injection SQL (' OR '1'='1' -- ) | requêtes préparées, moindre privilège MySQL, erreurs génériques |
| XSS stocké, réfléchi, DOM | htmlspecialchars, textContent, cookie HttpOnly, CSP |
| sessions : cookie poisoning, prédiction, sniffing, MitM, MitB, fixation | données en session, HTTPS + Secure, SameSite, session_regenerate_id(true), HSTS |
Nimda (2001), faille Unicode IIS (..%c0%af..) | correctifs, normaliser avant de contrôler, WAF |
| mots de passe par défaut (Mirai) | les changer avant la mise en réseau, MFA, admin non exposée |
| 2021 (résumé) | 2025 |
|---|---|
| A01 contrôle d'accès · A02 cryptographie · A03 injection · A04 conception · A05 configuration · A06 composants obsolètes · A07 authentification · A08 intégrité · A09 journalisation · A10 SSRF | A01 contrôle d'accès · A02 configuration · A03 chaîne d'approvisionnement · A04 cryptographie · A05 injection · A06 conception · A07 authentification · A08 intégrité · A09 journalisation et alerte · A10 conditions exceptionnelles |
| Protection | À retenir |
|---|---|
| défense en profondeur | plusieurs couches indépendantes |
| sauvegarde | 3-2-1, une copie hors ligne, tester la restauration ; un miroir n'est pas une sauvegarde |
| MFA | au moins 2 facteurs de catégories différentes : connaître, posséder, être |
| IDS / IPS | IDS hors flux, alerte ; IPS dans le flux, bloque |
| antivirus | signature, générique, heuristique, comportemental ; quarantaine ; cloud, autonome, suite |
| pare-feu | sans état, avec état, proxy, NGFW (DPI), SMLI ; logiciel et matériel |
| Notion | À retenir |
|---|---|
| donnée personnelle | personne identifiée ou identifiable ; sensibles : origine, opinions, religion, syndicat, santé |
| loi 09-08 (2009), CNDP | finalité, proportionnalité, qualité, durée de conservation, consentement, sécurité ; déclaration ou autorisation ; droits d'information, d'accès, de rectification, d'opposition |
| loi 05-20 (2020), DGSSI | cybersécurité de l'État et des infrastructures d'importance vitale ; déclaration des incidents |
| RGPD (2018) | licéité-loyauté-transparence, finalité, minimisation, exactitude, conservation limitée, intégrité-confidentialité, responsabilité |
| mécanismes | découverte, DLP, sauvegarde, snapshot, réplication, CDP, chiffrement, effacement, PRA |
| Notion | À retenir |
|---|---|
| symétrique | une clé secrète ; rapide ; AES (blocs 128 bits, clés 128/192/256, 10/12/14 tours), 3DES (retiré), Blowfish, Twofish, FPE |
| asymétrique | clé publique + clé privée ; lent ; RSA, courbes elliptiques ; chiffrer avec la clé publique du destinataire ; signer avec sa clé privée |
| hybride | asymétrique (ou Diffie-Hellman) pour la clé de session, AES pour les données : TLS 1.2/1.3, HTTPS, certificat signé par une CA |
| hachage | à sens unique, taille fixe : SHA-256 pour l'intégrité ; password_hash pour les mots de passe |
| PHP | openssl_encrypt(…, 'aes-256-gcm', …), IV aléatoire, clé dans .env hors du dossier public |
| Notion | À retenir |
|---|---|
| mots de passe (résumé) | complexité, 8 à 14 caractères, phrases de passe, historique, âge 3-7 jours à 90 jours |
| mots de passe (NIST 2025) | longueur (15 ; 8 avec MFA), 64 et plus acceptés, pas de composition, pas de changement périodique, liste noire, limitation des tentatives, MFA |
| RBAC | utilisateurs → rôles → permissions ; tables d'association ; vérifier côté serveur (403) |
| règles de pare-feu | Accept, Reject (répond), Drop (silence) ; lues dans l'ordre ; défaut : tout refuser ; 80/443 publics, 22 restreint, 3306 jamais ; DMZ |
| 10 principes | surface minimale, défauts sûrs, moindre privilège, défense en profondeur, échec sûr, méfiance des tiers, séparation des fonctions, pas d'obscurité, simplicité, correction complète |
1La propriété de la triade CID atteinte par un rançongiciel qui chiffre les fichiers est d'abord…
2Dans le cube de McCumber, la formation des employés est…
3Un virus qui infecte à la fois les fichiers et le secteur de démarrage est…
4La catégorie A03 de l'OWASP Top 10 2021 est…
5Un script injecté dans l'URL et renvoyé immédiatement dans la page est un XSS…
6Le Smurf utilise…
7Le système placé dans le flux qui bloque le trafic malveillant est…
8L'autorité marocaine de contrôle de la protection des données personnelles est…
9Pour vérifier qu'un fichier n'a pas été modifié, on compare…
10Un WAF basé sur l'hôte typique est…
L'essentiel du chapitre
../)realpath + préfixe, liste blanche, moindre privilège |
| hameçonnage : spear phishing, whaling, smishing, vishing, BEC | ralentir, vérifier le domaine, autre canal, MFA, signaler ; SPF, DKIM, DMARC |
| SYN flood | SYN cookies |
| teardrop, ping de la mort (> 65 535 octets) | mises à jour, filtrage des paquets malformés |
| Smurf (ping vers la diffusion, source usurpée) | pas de diffusion dirigée sur les routeurs |
| DDoS par botnet | anti-DDoS, CDN, limitation de débit |
| obfuscation | code illisible pour l'humain, exécutable par la machine ; aucun secret côté client |
| contrôle d'accès | DAC (propriétaire), MAC (autorité, niveaux), RBAC (rôles) ; moindre privilège, confiance zéro |
| en-têtes |
HSTS, CSP, nosniff, frame-ancestors, Referrer-Policy |
| WAF | couche 7 ; SQLi, XSS, inclusion, CSRF ; modèle négatif ou positif ; réseau, hôte (ModSecurity + CRS), cloud ; complète un code sûr |
Tableau: Les attaques
Tableau: OWASP Top 10
Tableau: Les protections
Tableau: La confidentialité des données
Tableau: La cryptographie
Tableau: Sécuriser un service et utiliser les pare-feu
Le code suivant gère la connexion d'une application de prise de rendez-vous d'une clinique.
<?php
session_start();
$email = $_POST['email'];
$mdp = $_POST['mdp'];
$sql = "SELECT * FROM patients WHERE email = '$email' AND mdp = '" . md5($mdp) . "'";
$p = $pdo->query($sql)->fetch();
if ($p) {
$_SESSION['id'] = $p['id'];
setcookie('role', $p['role']);
echo "Bienvenue " . $p['prenom'];
} else {
echo "Erreur SQL : " . $pdo->errorInfo()[2];
}L'agence Atlas Voyages (12 employés, Marrakech) a un site de réservation en PHP/MySQL sur un serveur hébergé. Le site collecte : nom, prénom, e-mail, téléphone, numéro de passeport, date de naissance, préférences alimentaires « halal, végétarien, sans gluten » et, pour l'assurance, une déclaration de maladies chroniques. Le mois dernier, la comptable a reçu un e-mail du « directeur » lui demandant un virement urgent de 85 000 DH vers un nouveau fournisseur ; elle l'a fait.