Mis à jour le

🔒
Intermediaire 15 questions • Securite

Questions Sécurité Web (OWASP)

15 questions sécurité web basées sur l'OWASP Top 10. XSS, injection SQL, CSRF, authentication et bonnes pratiques.

1. Qu'est-ce que le Top 10 OWASP et pourquoi est-il important ?

Le Top 10 OWASP est une liste des dix vulnérabilités de sécurité web les plus critiques, publiee par l'Open Web Application Security Project. Mise à jour régulièrement (dernière version 2021), elle sert de référence mondiale pour la sécurité des applications. Elle inclut : Broken Access Control, Cryptographic Failures, Injection, Insecure Design, Security Misconfiguration, Vulnérable Components, Authentication Failures, Software Integrity Failures, Logging Failures, et SSRF. Les entreprises l'utilisent comme base pour leurs audits de sécurité, leurs formations et leurs standards de développement.

2. Expliquez l'injection SQL et comment s'en protéger.

L'injection SQL survient quand des données utilisateur non sanitisees sont inserees directement dans une requête SQL. Un attaquant peut modifier la requête pour extraire, modifier ou supprimer des données. Exemple classique : saisir ' OR 1=1 -- dans un champ de login. Protection : toujours utiliser des requêtes paramétrées (prepared statements) ou un ORM qui les genere automatiquement. Ne jamais concatener des entrées utilisateur dans du SQL. Appliquer le principe du moindre privilege sur les comptes de base de données. Utiliser la validation d'entrée en liste blanche. Les WAF (Web Application Firewall) ajoutent une couche de défense supplémentaire.

3. Qu'est-ce que le Cross-Site Scripting (XSS) et quels sont ses types ?

Le XSS permet à un attaquant d'injecter du JavaScript malveillant dans une page web vue par d'autres utilisateurs. Trois types : Reflected XSS (le script est dans l'URL et reflete dans la réponse), Stored XSS (le script est stocke en base et affiche à chaque visite, plus dangereux), DOM-based XSS (le script manipule le DOM cote client). Conséquences : vol de cookies de session, redirection vers des sites malveillants, keylogging, defacement. Protection : echapper toutes les sorties HTML (output encoding), utiliser Content-Security-Policy (CSP), HttpOnly sur les cookies, et des frameworks qui echappent par défaut (React, Angular).

4. Comment fonctionne le Cross-Site Request Forgery (CSRF) ?

Le CSRF exploite la confiance qu'un site a dans le navigateur de l'utilisateur. Si un utilisateur est authentifie sur un site A, un site malveillant B peut declencher des requêtes vers A en utilisant les cookies de session de l'utilisateur. Exemple : une image avec src pointant vers une URL de transfert bancaire. Protection : tokens CSRF (token unique par session/requête inclus dans les formulaires), attribut SameSite sur les cookies (Lax ou Strict), vérifier l'en-tete Origin/Referer, exiger une re-authentification pour les actions sensibles. Les API REST utilisant des tokens Bearer (JWT) dans les headers sont naturellement protégées.

5. Expliquez le principe de Broken Access Control et donnez des exemples.

Le Broken Access Control est la vulnérabilité numéro 1 du Top 10 OWASP 2021. Elle survient quand un utilisateur peut accéder à des ressources ou effectuer des actions au-delà de ses permissions. Exemples : modification d'un ID dans l'URL pour accéder au compte d'un autre utilisateur (IDOR - Insecure Direct Object Référence), elevation de privilege en modifiant un rôle dans une requête, accès à des endpoints d'administration sans vérification. Protection : vérifier les autorisations cote serveur pour chaque requête, appliquer le deny-by-default, utiliser RBAC ou ABAC, tester systématiquement les controles d'accès.

6. Qu'est-ce que la politique CORS et comment la configurer correctement ?

CORS (Cross-Origin Resource Sharing) est un mécanisme HTTP qui permet à un serveur de spécifier quels domaines peuvent accéder à ses ressources. Le navigateur envoie une requête preflight (OPTIONS) pour les requêtes complexes. Headers importants : Access-Control-Allow-Origin (domaines autorisés), Access-Control-Allow-Methods (méthodes HTTP), Access-Control-Allow-Headers, Access-Control-Allow-Credentials. Erreurs courantes : utiliser le wildcard (*) avec credentials, ou refleter dynamiquement l'origine sans validation. Bonne pratique : lister explicitement les origines autorisées, limiter les méthodes et headers, et ne jamais utiliser * en production.

7. Comment sécuriser l'authentification et la gestion des sessions ?

Bonnes pratiques : mots de passe hashes avec bcrypt, scrypt ou Argon2 (jamais MD5/SHA1). Imposer une complexité minimale et vérifier contre les listes de mots de passe compromis (HaveIBeenPwned). Sessions : identifiants aléatoires et longs, régénération après authentification, expiration raisonnable, flags HttpOnly et Secure sur les cookies. Multi-facteur (MFA) : TOTP, WebAuthn/FIDO2, ou SMS (moins sur). Limiter les tentatives de connexion (rate limiting), implémenter le verrouillage de compte temporaire, et logger toutes les tentatives d'authentification pour détecter les attaques par force brute.

8. Expliquez les en-tetes de sécurité HTTP essentiels.

Content-Security-Policy (CSP) : contrôle les sources de contenu autorisées, previent XSS. Strict-Transport-Security (HSTS) : force HTTPS, previent les attaques de downgrade. X-Content-Type-Options: nosniff : empêche le MIME sniffing. X-Frame-Options : previent le clickjacking (remplace par CSP frame-ancestors). Referrer-Policy : contrôle les informations de referrer envoyees. Permissions-Policy : contrôle l'accès aux API du navigateur (camera, geolocation). Configuration recommandee : activer tous ces headers, tester avec securityheaders.com, et ajuster CSP progressivement en mode report-only avant enforcement.

9. Qu'est-ce que le Server-Side Request Forgery (SSRF) ?

Le SSRF permet à un attaquant de faire exécuter des requêtes par le serveur vers des ressources internes ou externes. L'attaquant exploite une fonctionnalité qui accepte des URL (import d'image, webhook, PDF génération). Il peut cibler des services internes (metadata cloud AWS à 169.254.169.254, bases de données, services internes). Conséquences : exfiltration de données, accès aux credentials cloud, scan du réseau interne. Protection : validation stricte des URL en liste blanche, bloquer les IP privées et localhost, utiliser un proxy dédié pour les requêtes sortantes, désactiver les redirections, et segmenter le réseau.

10. Comment mettre en place une stratégie de sécurité DevSecOps ?

DevSecOps integre la sécurité à chaque étape du cycle de développement. Pipeline : SAST (Static Application Security Testing) avec SonarQube ou Semgrep dans le CI, SCA (Software Composition Analysis) avec Dependabot ou Snyk pour les dépendances vulnérables, DAST (Dynamic Analysis) avec OWASP ZAP ou Burp Suite sur les environnements de staging, secret scanning avec git-secrets ou truffleHog. Pratiques : threat modeling en phase de design, code review avec focus sécurité, tests de pénétration réguliers, bug bounty program. Former les développeurs au secure coding et maintenir une culture security-first.

Besoin d'aide pour préparer vos entretiens ?

Decrivez votre profil pour des conseils de preparation personnalises.

Recevoir des conseils

Questions fréquentes

La securite est-elle testee en entretien ?
De plus en plus, surtout pour les seniors. Connaitre l'OWASP Top 10 est un minimum pour tout developpeur web.

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.