Cybersecurity
  • Mon Blog
    • 🏠Home
    • 📦Archives
      • 2024
      • 2023
      • 2022
    • 📂Catégories
    • 📧A propos de moi
  • Mes projets
    • Livres / publications
      • Sécurité des applications web - Stratégies offensives et défensives
    • MyExpense
    • XSS Exploitation Tool
  • Mes Articles
    • 2025
      • Mars
        • Comment les requêtes préparées (prepared statement) protègent-elles contre les injections SQL ?
      • Janvier
        • XSS Exploitation Tool v0.7.0
    • 2024
      • Décembre
        • XSS Exploitation Tool v0.6.0
      • Septembre
        • MyExpense v1.4
      • Aout
        • XSS Exploitation Tool v0.5.0
        • Exploitation des injections SQL au sein de la clause ORDER BY
      • Juin
        • Parution de mon livre, Sécurité des applications web - Stratégies offensives et défensives
      • Mai
        • Dompurify 3.0.10 bypass - Confusion nodeName and CDATA
        • Dompurify 3.0.9 bypass - Node type confusion
      • Avril
        • Bypass de validation d'URL et embedded credentials côté front
      • Mars
        • MyExpense v1.3
    • 2023
      • Mai
        • MyExpense v1.2
      • Mars
        • MyExpense v1.1
        • Fonctionnement de l'entête X-Content-Type-Options - Contournement de CSP
      • Février
        • Fonctionnement de l'entête HTTP Strict Transport Security Header (HSTS)
    • 2022
      • Décembre
        • Les injections CSS - Règle @import
        • Les injections CSS - Scroll-to-Text Fragment
      • Novembre
        • Les injections CSS - Attribute Selector
        • Les injections CSS - Règle @font-face et descripteur unicode
      • Octobre
        • XSS Exploitation Tool v0.4.0
      • Septembre
        • Cross-Site Scripting (XSS) et schéma d'URI javascript
      • Juillet
        • SAST - PHP CodeSniffer orienté sécurité dans Visual Studio (sous Windows)
        • SAST - PHP CodeSniffer orienté sécurité dans Visual Studio (sous Debian)
        • Est-il possible de contourner la fonction PHP htmlspecialchars() ?
  • Common Vulnerabilities and Exposures (CVE)
    • 2024
      • CVE-2024-29415
    • 2023
      • CVE-2023-42282
    • 2022
      • CVE-2022-33910
      • CVE-2022-32444
      • CVE-2022-32442
    • 2020
      • CVE-2020-26311
  • Livres
    • 2023
      • Attacking and Exploiting Modern Web Applications
      • DevSecOps - Développez et administrez vos services en toute sécurité
    • 2022
      • Hacking APIs - Breaking Web Application Programming Interfaces
    • 2018
      • Practical Web Penetration Testing
      • Web Hacking 101: How to Make Money Hacking Ethically
  • Walkthroughs
    • Capture The Flag
      • Hack.lu CTF 2019
        • Nucular Power Plant
      • TAMUctf 2019
        • 1337 Secur1ty
        • Bird Box Challenge
        • Science!
    • Deliberately Vulnerable
      • CORS vulnerable Lab
        • Application Trust Arbritrary Origin
        • Application has bad "regex" Implementation to check Trusted Origin
        • Application Trust "null" Origin
      • Damn Vulnerable Web Application (DVWA)
        • Brute Force
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Command Injection
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • CSRF
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • File Inclusion
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • File Upload
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Insecure CAPTCHA
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • SQL Injection
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • SQL Injection (Blind)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Weak Session IDs
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • XSS (DOM)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • XSS (Reflected)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • XSS (Stored)
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • CSP Bypass
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
        • Javascript
          • Niveau "Low"
          • Niveau "Medium"
          • Niveau "High"
      • Unescape() room
        • Level 1 (practice)
        • Level 2 (practice)
        • Level 3 (practice)
        • Level 4 (practice)
        • Level 5 (practice)
        • Level 6 (practice)
        • Level 7 (practice)
        • Level 8 (practice)
        • Level 9 (practice)
        • Level 10 (practice)
      • VulnHub
        • GoatseLinux: 1
        • Hackademic: RTB1
        • Hackademic: RTB2
        • Holynix: v1
        • Holynix: v2
        • Kioptrix: Level 1 (#1)
        • Kioptrix: Level 1.1 (#2)
        • Kioptrix: Level 1.2 (#3)
        • Kioptrix: Level 1.3 (#4)
        • LAMPSecurity: CTF4
        • LAMPSecurity: CTF5
        • LAMPSecurity: CTF6
        • Metasploitable: 1
        • pWnOS 1.0
        • pWnOS 2.0 (Pre-Release)
      • XSS Vulnerability Challenges
        • xss1
        • xss2
        • xss3
        • xss4
        • xss5
        • xxs6
        • xss7
        • xss8
Propulsé par GitBook
Sur cette page
  • Description du livre
  • Contexte et Motivation
  • Code source de l'application
  • Errata et Corrections
  1. Mes projets
  2. Livres / publications

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

Mon retour d'expérience concernant la rédaction du livre "Sécurité des applications web - Stratégies offensives et défensives" paru aux Editions ENI.

PrécédentLivres / publicationsSuivantMyExpense

Dernière mise à jour il y a 2 mois

Description du livre

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

Dernière parution : juin 2024

Langue : Française

Prix (minimum) : 54,00 €

Résumé / Présentation : 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...

Table des matières :

  1. Avant-propos

  2. Introduction à la sécurité applicative

  3. Définition du concept de vulnérabilité

  4. Fonctionnement d'une application web

  5. L'évolution du Web

  6. Mise en place du laboratoire

  7. Les principales vulnérabilités web

  8. Autres vulnérabilités applicatives

  9. Les principaux en-têtes HTTP de sécurité

  10. Introduction à la cryptographie

  11. Fonctionnement de TLS

  12. Introduction au DevSecOps

  13. Les prestations en entreprise

Contexte et Motivation

Au fil du temps, j'ai réalisé que la sécurité des applications web est un domaine à la fois vaste et complexe. Le désir de partager mes connaissances a été ma principale motivation. Selon moi, il existe encore trop peu de ressources francophones sur le sujet, et j'ai voulu contribuer à combler ce manque.

J'ai également constaté que beaucoup de développeurs n'acquièrent pas de solides bases en sécurité des applications web, que ce soit durant leurs études ou plus tard dans leur carrière professionnelle. C'est pourquoi j'ai voulu que ce livre s'adresse aussi à eux. En parallèle, je souhaitais également améliorer la compréhension défensive des pentesters, afin qu'ils puissent mieux conseiller les équipes clientes lors des restitutions des rapports d'audits, notamment en ce qui concerne les remédiations. Pour y parvenir, j'ai intégré un volet "défensif" de la sécurité, en expliquant comment développer des applications de manière sécurisée, avec une approche pratique en corrigeant des codes vulnérables.

Pour approfondir cet aspect "défensif", j'ai également voulu inclure une section sur les en-têtes HTTP de sécurité, qui sont mentionnés dans d'autres ouvrages mais, selon moi, rarement expliquées de manière suffisamment détaillée. En complément, et toujours dans l'optique de renforcer le côté "défensif", j'estime qu'il est aujourd'hui indispensable de comprendre le fonctionnement de la chaîne d'intégration continue ainsi que les différents outils orientés sécurité pouvant s'y intégrer.

Code source de l'application

Pourquoi avoir développé une nouvelle application ?

Je lis de nombreux livres sur la sécurité des applications web, en français comme en anglais, et je remarque souvent que les mêmes applications de test reviennent : bWAPP, DVWA ou encore WebGoat. Pour me démarquer, j'ai voulu proposer une application entièrement nouvelle, spécifiquement conçue pour cet ouvrage. De plus, comme mon objectif était que le lecteur puisse corriger le code source vulnérable, il m’a semblé plus simple de développer une application sur mesure plutôt que d’adapter le code d’un projet déjà existant. J'ai également voulu que le code reste simple, afin que les lecteurs puissent le comprendre, le modifier et l’adapter à leurs besoins sans être contraints par l'utilisation de frameworks de développement spécifiques.

Pourquoi une application en PHP ?

Principalement par commodité. C'est le langage avec lequel je peux développer le plus rapidement, et étant donné le temps limité pour la rédaction de l'ouvrage, c'était la solution la plus pratique pour moi. La plupart des exploitations des vulnérabilités décrites dans le livre ne dépendent pas de la technologie utilisée. Cependant, j'aurais souhaité inclure certains exercices en NodeJS pour diversifier le contenu et les corrections à apporter, mais cela aurait été trop chronophage dans le délai imparti.

Projet GitHub

Errata et Corrections

Malheureusement, il est difficile d’écrire un livre sans laisser quelques erreurs derrière soi. Même avec toute l'attention du monde, certaines fautes peuvent passer inaperçues lors du processus d'écriture et de relecture. Que ce soit des coquilles, des petites incohérences ou des maladresses de style, ces imperfections font partie du parcours de tout auteur.

Dans cette section, je vais lister les erreurs qui se sont discrètement glissées dans mon livre et que j'ai découvertes par la suite.

Les wrappers PHP (page 242)

Le wrapper php://filter ne nécessite pas de de données au niveau du corps de la requête :

GET /wrappers.php?file=php://filter/read=/resource=file:///etc/passwd HTTP/1.1
Host: 192.168.56.122
Connection: close

Au lieu de :

GET /wrappers.php?file=php://filter/read=/resource=file:///etc/passwd HTTP/1.1
Host: 192.168.56.122
Connection: close
Content-Length: 22

<?php system('whoami'); ?>

Object manipulation (page 350)

L'étape 4 indique de supprimer le profil "PHPSESSID" alors qu'il s'agit plutôt de la suppression du cookie "PHPSESSID".

Regular expression denial of service (page 360)

L'expression régulière contient un signe + afin de traiter les sous-domaines, mais l'explication affiche un caractère * (la définition est par contre correcte) :

– * : indique que le motif précédent peut se répéter une fois ou plus, autorisant ainsi les URL possédant un, ou plusieurs sous-domaines.

Devient :

– + : indique que le motif précédent peut se répéter une fois ou plus, autorisant ainsi les URL possédant un, ou plusieurs sous-domaines.

Déni de service (page 381)

L'attaque XXE de type lol flow est correcte mais l'inclusion est effectuée par l'entité lol6 alors qu'elle devrait être faite par l'entité lol14 :

<!-- Inclusion malicieuse de l'entité lol6 -->
&lol6;

Devient :

<!-- Inclusion malicieuse de l'entité lol14 -->
&lol14;

Lien :

L'application accompagnant le livre est disponible sur le dépôt des Éditions ENI :.

Sur mon GitHub personnel, je mets à disposition l'application sous forme de conteneur Docker au lieu d'une machine virtuelle type Kali Linux :.

https://www.editions-eni.fr/livre/securite-des-applications-web-strategies-offensives-et-defensives-9782409045127
https://github.com/EditionsENI/Livre-Securite-applications-web-Strategies-offensives-defensives
https://github.com/Sharpforce/Livre-Securite-applications-web-Strategies-offensives-defensives