Formation

Intrusion sur les applications web

Objectifs

Cette formation s’adresse à des personnes ayant déjà a minima un bagage technique théorique et souhaitant parfaire leurs connaissances des vulnérabilités sévères modernes. Elle a pour but de présenter, en s’appuyant sur de nombreux cas pratiques, les différentes réflexions et observations permettant de guider l’auditeur dans sa découverte de vulnérabilités. En effet, les étapes pas à pas des travaux pratiques permettent de faire la relation entre les vulnérabilités à rechercher en priorité et une observation efficace des technologies composant une application web. Pour faire simple, cette formation a pour but d’affûter « l’intuition » de l’auditeur en explicitant les relations entre les informations techniques à sa disposition et les vulnérabilités.

 

5 jours / 16 heures de théorie / 19 heures de pratique

 

Le découpage selon les langages rencontrés permet de moduler la formation et de réduire sa durée sur 3 ou 4 jours si nécessaire.

Contenu

  • Introduction/Généralités

    • Déroulement d’une intrusion

    • Méthodologie et concepts généraux

    • Démarches et ressources

 

  • BurpSuite

    • Utilisation de BurpSuite dans le cadre d’une intrusion en boite noire

    • Possibilités et limites de BurpSuite

    • Raccourcis et mécanismes d’automatisation

    • Extensions

       

  • Reconnaissance

    • Surface d’attaque

    • Outillage

       

  • Méthodologies et démarche

    • Notions générales : caractère itératif du processus, vulnérabilités logiques

    • Gestion de mécanismes communs :

      • authentification

      • contrôle d’accès

      • entrées utilisateurs

    • Identification des technologies côté client et côté serveur

       

  • Vulnérabilités avancées

    • Tour d’horizon des vulnérabilités applicatives : XXE, SSRF, Injections, SSTI, Prototype Pollution

    • Attaques cryptographiques

    • Attaques des mécanismes d’authentification

    • GraphQL

    • Vulnérabilités spécifiques au cloud

       

  • Java

    • Identification des serveurs applicatifs

    • Identification des frameworks

    • Interfaces d’administration communément exposées

    • Exploitation de vulnérabilités spécifiques

      • XXE

      • Désérialisation

      • Injections HQL

      • Injections dans les expression languages

         

  • PHP

    • Identification des technologies

    • Exploitation de vulnérabilités spécifiques

      • Type juggling & magic hashes

      • Stream wrappers et filters

      • Phar

    • Désérialisation & concept de popchains avancées

    • Post-compromission

      • Contournement de disable_functions et open_basedir

      • Exécution de commandes via FastCGI

      • Vulnérabilités du moteur PHP

         

  • Python/Django

    • Identification de frameworks

    • Exploitation de vulnérabilités spécifiques

      • Mode debug

      • Faiblesses dans la signature des cookies

      • Désérialisation arbitraire

      • Mass-assignement

      • SSTI DTL & Jinja2

         

  • Perl

    • Notions afférentes au langage

    • Identification d’applications

    • Vulnérabilités dans Twiki et Bugzilla

    • Exploitation de vulnérabilités spécifiques

      • Comportements des arrays en paramètres

      • Fonctions system(), exec()