Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Sécurité des applications web - Stratégies offensives et défensives

Sécurité des applications web Stratégies offensives et défensives

Informations

Livraison possible dès le 20 juin 2024
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • Livre (broché) - 17 x 21 cm
  • ISBN : 978-2-409-04512-7
  • EAN : 9782409045127
  • Ref. ENI : EPAPPSEC

Informations

  • Consultable en ligne immédiatement après validation du paiement et pour une durée de 10 ans.
  • Version HTML
Livres rédigés par des auteurs francophones et imprimés à Nantes

Caractéristiques

  • HTML
  • ISBN : 978-2-409-04513-4
  • EAN : 9782409045134
  • Ref. ENI : LNEPAPPSEC
Cet ouvrage explore en profondeur la sécurité des applications web, offrant une expertise complète aux développeurs, professionnels de la cybersécurité ou passionnés du numérique qui désirent comprendre et maîtriser les techniques d’attaque et de défense. À travers des études de cas, des exemples, des conseils, des astuces et des exercices pratiques, ce livre offre une expérience d’apprentissage immersive et enrichis­sante et dresse un panorama complet des vulnérabilités web les plus courantes...
Consulter des extraits du livre en ligne Aperçu du livre papier
  • Niveau Expert
  • Nombre de pages 588 pages
  • Parution juin 2024
  • Niveau Expert
  • Parution juin 2024
Cet ouvrage explore en profondeur la sécurité des applications web, offrant une expertise complète aux développeurs, professionnels de la cybersécurité ou passionnés du numérique qui désirent comprendre et maîtriser les techniques d’attaque et de défense. À travers des études de cas, des exemples, des conseils, des astuces et des exercices pratiques, ce livre offre une expérience d’apprentissage immersive et enrichis­sante et dresse un panorama complet des vulnérabilités web les plus courantes.

L’auteur commence par analyser l’importance de la sécurité des applications web et de leur écosystème avant de détailler un ensemble de concepts, d’outils et de ressources pour caractériser les vulnérabilités et prioriser leur correction. Pour transmettre au lecteur des bases solides, le fonctionnement des applications web, des technologies et des protocoles associés est également détaillé.

Dans la suite du livre, les principales vulnérabilités web sont examinées en détail et illustrées par des exemples pour mieux appréhender leur fonctionnement. À la fin de chaque étude de vulnérabilité, une série d’exercices axés sur les aspects offensifs (découverte et exploitation) et défensifs (application des bonnes pratiques de développement) permet d’apprendre à la corriger.

La protection d’une application web va bien au-delà de la simple écriture de code ; la configuration des équipements joue un rôle crucial. Cet aspect est exploré dans des chapitres dédiés aux en-têtes HTTP de sécurité, à la cryptographie et au fonctionnement de TLS, essentiels notamment pour HTTPS.

L’ouvrage se conclut sur la mise en place de processus visant à améliorer la sécurité des applications au sein des chaînes d’intégration continue et par une revue des prestations possibles en matière de sécurité des applications web.

Téléchargements

Avant-propos
  1. Introduction
Introduction à la sécurité applicative
  1. Introduction
  2. La nécessité de la sécurité applicative
    1. 1. Des applications web de plus en plus omniprésentes
    2. 2. Des applications de plus en plus complexes
    3. 3. Des attaques de plus en plus fréquentes
  3. Les acteurs autour de la sécurité web
    1. 1. L’ANSSI
    2. 2. La CNIL
    3. 3. Le Clusif
    4. 4. Le MITRE
      1. a. Framework ATT&CK
      2. b. La base de connaissance CVE
      3. c. La liste de catégories CWE
    5. 5. Le FIRST
      1. a. Le système d’évaluation CVSS
      2. b. L’EPSS
    6. 6. Le NIST
    7. 7. Le CISA
    8. 8. L’OWASP
      1. a. ASVS
      2. b. OWASP Cheat Sheet Series
      3. c. OWASP Top Ten
      4. d. OWASP Web Security Testing Guide (WSTG)
Définition du concept de vulnérabilité
  1. Qu'est-ce qu'une vulnérabilité ?
    1. 1. La triade disponibilité, intégrité etconfidentialité (DIC)
    2. 2. Traçabilité, authenticité etnon-répudiation
  2. Référentiels de vulnérabilités
    1. 1. CVE
    2. 2. Les dépendances logicielles
      1. a. GHSA (GitHub Security Advisory)
      2. b. Journaux de modifications et tickets
      3. c. Open Source Vulnerabilities (OSV)
  3. Prioriser les corrections des vulnérabilités
    1. 1. CVSS (Common Vulnerability Scoring System)
      1. a. Version 3.1
      2. b. Version 4.0
      3. c. Une première priorisation
      4. d. Scores CVSS multiples
    2. 2. EPSS (Exploit Prediction Scoring System)
    3. 3. KEV et avis de sécurité de l’ANSSI
Fonctionnement d'une application web
  1. Introduction
  2. Le modèle client-serveur
    1. 1. Le navigateur web
    2. 2. Le serveur web
  3. Le principe d'hypertexte
  4. Le langage HTML
    1. 1. Les balises HTML
    2. 2. Les attributs HTML
    3. 3. Structure d’une page
  5. Le protocole HTTP
    1. 1. Anatomie d’une requête HTTP
      1. a. Les méthodes HTTP
      2. b. Les en-têtes de requête HTTP
      3. c. Exemple d’une requête HTTP
    2. 2. Anatomie d’une réponse HTTP
      1. a. Les codes de réponse HTTP
      2. b. Les en-têtes de réponse HTTP
  6. Le mode développeur du navigateur web
    1. 1. L’onglet Elements
      1. a. L’affichage du code source
      2. b. L’inspection
    2. 2. L’onglet Sources
    3. 3. L’onglet Network
L'évolution du Web
  1. Introduction
  2. Les langages clients
    1. 1. Le CSS
    2. 2. Le JavaScript
      1. a. Les instructions
      2. b. Les commentaires
      3. c. Les variables
      4. d. Les structures de contrôle
      5. e. Les fonctions
      6. f. La programmation orientée objet (POO)
      7. g. Interaction avec le DOM
      8. h. Les requêtes XHR
      9. i. Intégration du JavaScript
      10. j. Du JavaScript dans la console de développement
  3. Les langages serveur
    1. 1. Le PHP
      1. a. Les instructions
      2. b. Les commentaires
      3. c. Les variables
      4. d. Les structures de contrôle
      5. e. Les fonctions
      6. f. La programmation orientée objet (POO)
      7. g. Transmettre des informations au serveur
    2. 2. D’autres langages serveur
    3. 3. Les bases de données
  4. Les cookies HTTP
    1. 1. Qu’est-ce qu’un cookie ?
      1. a. Côté server
      2. b. Côté client
  5. Les sessions HTTP
Mise en place du laboratoire
  1. Installation de la plateforme
    1. 1. Installation de VirtualBox
    2. 2. Installation de la machine virtuelle
      1. a. Installation du laboratoire d’exercices
      2. b. Installation de Visual Studio Code
      3. c. Sauvegarde de l’état de la machine
  2. Installation des outils d'attaque
    1. 1. Tester la connectivité entre les machines
    2. 2. Installation du proxy Burp Suite
    3. 3. Utilisation de Burp Suite
    4. 4. Beeceptor
  3. Résolution des exercices
    1. 1. Comment aborder les exercices pratiques
    2. 2. Apporter des corrections au code source des exercices
Les principales vulnérabilités web
  1. Introduction
  2. Insecure Direct Object Reference
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
      1. a. Numeric Query Parameter
      2. b. Hidden field
      3. c. Complex identifiers (UUID)
      4. d. Side-Channel IDOR
      5. e. Path Traversal
  3. Injection SQL
    1. 1. Présentation
      1. a. Principe de fonctionnement
      2. b. Découverte et exploitation
      3. c. Classifications
    2. 2. Protection
      1. a. Requêtes préparées
      2. b. Principe du moindre privilège
      3. c. Validation des données
    3. 3. Un peu de pratique
      1. a. Authentication bypass
      2. b. Union-based
      3. c. Error-based
      4. d. Stack queries
      5. e. Second order
      6. f. Boolean-based
      7. g. Time-based
      8. h. Arbitrary file read
      9. i. Remote code execution
  4. Injection de commande
    1. 1. Présentation
      1. a. Injection directe
      2. b. Injection à l’aveugle
    2. 2. Protection
      1. a. Éviter l’utilisation des commandes système
      2. b. Échapper et assainir les entréesnon fiables
      3. c. Principe du moindre privilège
    3. 3. Un peu de pratique
      1. a. Shell argument injection
      2. b. Blind injection
  5. Injection de code
    1. 1. Présentation
      1. a. La méthode eval()
      2. b. Inclusion de fichiers
      3. c. Les wrappers PHP
    2. 2. Protection
    3. 3. Un peu de pratique
      1. a. Remote File Inclusion
      2. b. Local File Inclusion
  6. Cross-Site Scripting
    1. 1. Présentation
      1. a. Les possibilités d’une XSS
      2. b. XSS réfléchie
      3. c. XSS stockée
      4. d. XSS basée sur le DOM
      5. e. Les autres formes d’XSS
    2. 2. Protection
      1. a. Validation des données
      2. b. Encodage en sortie
      3. c. Assainissement HTML
      4. d. Défense en profondeur
    3. 3. Un peu de pratique
      1. a. XSS réfléchie
      2. b. XSS stockée
      3. c. XSS basée sur le DOM
  7. Mauvaise gestion de l'authentification et de session
    1. 1. Présentation et protection
      1. a. Sécurisation des communications
      2. b. Énumération des identifiants
      3. c. Attaques automatisées
      4. d. Gestion et stockage des mots de passe
      5. e. Jeton de session dans l’URL
      6. f. Fixation de session
      7. g. Déconnexion des sessions
      8. h. Temporisation des sessions
      9. i. Robustesse des identifiants de session
    2. 2. Un peu de pratique
      1. a. User enumeration
      2. b. Session fixation
      3. c. Weak session ID
  8. Mauvaise gestion du contrôle d'accès
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
      1. a. Horizontal access control
      2. b. Vertical access control
  9. Open redirect
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
  10. Cross-Site Request Forgery
    1. 1. Présentation
      1. a. Same-Origin Policy
      2. b. Attribut SameSite
      3. c. Login CSRF
      4. d. Self-XSS
      5. e. Contournement de la politique de même origine(SOP)
    2. 2. Protection
      1. a. Synchronizer Token Pattern
      2. b. Double Submit Cookie Pattern
      3. c. L’attribut SameSite
      4. d. Éviter les requêtes GET
      5. e. Interactions utilisateur
      6. f. En-tête personnalisé
    3. 3. Un peu de pratique
      1. a. POST request
      2. b. POST request with XSS
Autres vulnérabilités applicatives
  1. Introduction
  2. Vulnérabilités logiques
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
      1. a. Star Rating
      2. b. Total Amount
  3. Insecure Deserialization
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
      1. a. Object manipulation
      2. b. Object injection
  4. Clickjacking
    1. 1. Présentation
    2. 2. Protection
      1. a. Attribut SameSite
      2. b. En-tête X-Frame-Options et CSP
      3. c. Framebusting
  5. Regular expression Denial of Server (ReDoS)
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
  6. Server-Side Request Forgery
    1. 1. Présentation
      1. a. Détection d’une SSRF
      2. b. Accès local
      3. c. Accès réseau interne (pivot)
      4. d. Accès aux métadonnées desplateformes cloud
      5. e. Proxy
      6. f. Énumération de services
    2. 2. Protection
    3. 3. Un peu de pratique
  7. XML External Entity
    1. 1. Présentation
      1. a. Espace de noms
      2. b. Document Type Definition (DTD)
      3. c. Entités internes et externes
      4. d. Lecture de fichiers arbitraires
      5. e. Déni de service
      6. f. Server-Side Request Forgery
      7. g. Exécution de code à distance
      8. h. Injection à l’aveugle (Blind XXE)
      9. i. XInclude
    2. 2. Protection
    3. 3. Un peu de pratique
      1. a. Arbitrary file read
      2. b. Blind XXE
  8. Server-Side Template Injection
    1. 1. Présentation
    2. 2. Protection
    3. 3. Un peu de pratique
  9. Attaque de la chaîne d'approvisionnement (Supply chain attack)
    1. 1. Présentation
    2. 2. Protection
      1. a. Fonctionnement
      2. b. Inconvénients
  10. Mauvaise configuration de sécurité
    1. 1. Présentation
      1. a. Comptes par défaut
      2. b. Fonctionnalités ou services non utilisés
      3. c. Mauvaise gestion des erreurs
      4. d. Vulnérabilités non corrigées
    2. 2. Protection
Les principaux en-têtes HTTP de sécurité
  1. Introduction
  2. Vérifier la présence d’un en-tête HTTP
  3. Mise en place d'un en-tête HTTP de sécurité
    1. 1. Serveur web Apache
    2. 2. Serveur web Nginx
  4. HTTP Strict Transport Security Header
    1. 1. HTTP contre HTTPS
    2. 2. Redirection des utilisateurs vers HTTPS
    3. 3. HTTP Strict Transport Security Header
  5. X-Frame-Options
  6. X-Content-Type-Options
    1. 1. Le type MIME
    2. 2. L’en-tête HTTP Content-Type
    3. 3. La détection de type MIME (MIME sniffing)
    4. 4. MIME Confusion Attack
    5. 5. X-Content-Type-Options
  7. Referrer-Policy
  8. X-XSS-Protection
  9. Content Security Policy
  10. Cross-Origin Resource Sharing
    1. 1. Fonctionnement
      1. a. Requêtes simples
      2. b. Preflight Request
      3. c. Requête avec authentification
      4. d. Autres en-têtes
    2. 2. Contournement
      1. a. En-tête Access-Control-Allow-Origin réfléchidepuis l’en-tête Origin
      2. b. Origin à null
Introduction à la cryptographie
  1. L'encodage
    1. 1. L’encodage URL
    2. 2. L’encodage base64
  2. Le hachage
  3. Le chiffrement
    1. 1. Chiffrement symétrique
      1. a. Chiffrement par flot
      2. b. Chiffrement par bloc
    2. 2. Chiffrement asymétrique
    3. 3. Chiffrement hybride
  4. La signature
  5. HMAC (Hash-Based Message Authentication Code)
Fonctionnement de TLS
  1. Historique de TLS
  2. Certificat TLS
    1. 1. Principe de fonctionnement
    2. 2. Le standard X.509
      1. a. Version 1
      2. b. Version 2
      3. c. Version 3
      4. d. Chaîne de certificats
      5. e. Liste de révocation (Certificate RevocationList - CRL)
      6. f. Certificat monodomaine, wildcard et multidomaine
      7. g. Certificats DV, OV, EV et autosignés
      8. h. Sécurité cryptographique
  3. Suites cryptographiques (Cipher suites)
  4. Négociation TLS
    1. 1. TLS 1.2
    2. 2. TLS 1.3
  5. Tester et sécuriser sa configuration SSL/TLS
Introduction au DevSecOps
  1. Rappels sur le DevOps
  2. Cycle de vie du développement logiciel
    1. 1. Les étapes du développement logiciel
      1. a. Planification
      2. b. Analyse
      3. c. Conception
      4. d. Implémentation
      5. e. Tests & intégration
      6. f. Maintenance
    2. 2. Les avantages du SDLC
    3. 3. Les modèles de SDLC
  3. L'approche CI/CD
    1. 1. L’intégration continue
    2. 2. La livraison continue
    3. 3. Le déploiement continu
  4. L'intégration de la sécurité
    1. 1. Le DevSecOps
    2. 2. Le cycle de vie du développement sécurisé
      1. a. Principe de shiftleft
      2. b. Modélisation des menaces (Threat modeling)
      3. c. Revue de conception sécurisée
      4. d. Outillage de la chaîne d’intégrationet de déploiement continu
    3. 3. Software Composition Analysis
      1. a. Les gestionnaires de dépendances
      2. b. Trivy, le SCA polyvalent
      3. c. Les librairies JavaScript côté front-end
      4. d. Le Software Bill of Materials (SBOM)
    4. 4. Static Application Security Testing
    5. 5. Secret Scanning
    6. 6. Infrastructure as Code Scanning
    7. 7. Dynamic Application Security Testing
      1. a. Zed Attack Proxy
      2. b. Dastardly
    8. 8. Aller plus loin
      1. a. Revue de code manuelle
      2. b. Test d’intrusion
      3. c. Security Champion
      4. d. Formation et sensibilisation
Les prestations en entreprise
  1. L'audit d'architecture
  2. L'audit de sécurité de code source
  3. L'audit de configuration
  4. Le test d'intrusion
  5. Le programme de bug bounty
  6. La certification PASSI
Auteur : Malween LE GOFFIC

Malween LE GOFFIC

Passionné par la sécurité informatique, en particulier celle des applications web, Malween LE GOFFIC a accumulé plus de 10 ans d'expérience dans ce domaine. Au cours de diverses missions professionnelles, il a exercé des rôles tant du côté offensif, notamment en réalisant des tests d'intrusion, que défensif, en effectuant des audits de code source, en développant et en intégrant des outils de sécurité, ainsi qu'en dispensant des formations à des étudiants et des professionnels du développement. C'est son désir de partager sa passion et son expérience ainsi que l'ensemble des connaissances acquises au fil des années qui l'a motivé à écrire ce livre.
En savoir plus

Nos nouveautés

voir plus