Labs PortSwigger — Test d’intrusion web

Contexte

Matière : _Test d’intrusion web · Les 34 labs de la Web Security Academy cités dans les 3 supports, dédoublonnés. (P) = Practitioner, sinon Apprentice. Avancement réel : tableau de bord de son compte sur portswigger.net.

Outils

Burp Suite Community + extensions : Autorize (contrôle d’accès), JWT Editor, Turbo Intruder (brute force, courses), Hackvertor (encodages), Content Type Converter (JSON → XML pour XXE), Param Miner (en-têtes cachés), Logger++.

A01 · Broken Access Control — Jour 1

☐LabOutil
☐Insecure direct object referencesRepeater
☐User ID controlled by request parameterAutorize / Repeater
☐User role controlled by request parameterRepeater (cookie)
☐Unprotected admin functionalityrobots.txt, navigateur
☐File path traversal, simple caseRepeater
☐Basic SSRF against the local serverRepeater
☐Basic SSRF against another back-end systemIntruder / Turbo Intruder (balayage d’IP)
☐CSRF vulnerability with no defensesexploit server
☐CORS vulnerability with basic origin reflectionexploit server

A02 · Security Misconfiguration — Jour 1

☐LabOutil
☐Exploiting XXE using external entities to retrieve filesRepeater (+ Content Type Converter si JSON)
☐Information disclosure in version control history (P)wget -r du .git + git log
☐Source code disclosure via backup filesnavigateur (robots.txt, /backup)
☐Information disclosure in error messagesRepeater (paramètre invalide)
☐Host header authentication bypassRepeater / Param Miner

A04 · Cryptographic Failures — Jour 2

Pas de lab propre : le cours renvoie vers JWT authentication bypass via weak signing key (A07), Information disclosure in version control history et Source code disclosure via backup files (A02), Information disclosure in error messages (A02).

A05 · Injection — Jour 2

☐LabOutil
☐SQL injection vulnerability allowing login bypassRepeater
☐SQL injection vulnerability in WHERE clause allowing retrieval of hidden datanavigateur / Repeater
☐Blind SQL injection with conditional responses (P)Turbo Intruder (ou sqlmap)
☐Detecting NoSQL injectionRepeater
☐Reflected XSS into HTML context with nothing encodednavigateur
☐Stored XSS into HTML context with nothing encodednavigateur
☐DOM XSS in document.write sink using source location.searchDOM Invader (navigateur Burp)
☐OS command injection, simple caseRepeater
☐Blind OS command injection with time delays (P)Repeater (sleep)
☐Basic server-side template injection (classé Practitioner sur PortSwigger, Apprentice dans le support)Repeater

A06 · Insecure Design — Jour 3

☐LabOutil
☐Excessive trust in client-side controlsRepeater (prix)
☐Limit overrun race conditionsRepeater → groupe → Send in parallel
☐Bypassing rate limits via race conditions (P)Turbo Intruder

A07 · Authentication Failures — Jour 3

☐LabOutil
☐Username enumeration via different responsesTurbo Intruder
☐2FA simple bypassnavigateur
☐Password reset broken logicRepeater
☐JWT authentication bypass via unverified signatureJWT Editor
☐JWT authentication bypass via weak signing key (P)JWT Editor + hashcat -m 16500

A08 · Software or Data Integrity Failures — Jour 3

☐LabOutil
☐Modifying serialized objectsRepeater + Decoder / Hackvertor
☐Arbitrary object injection in PHP (P)Repeater + Hackvertor

Catégories sans lab

  • A03 Supply Chain : npm audit / pip-audit sur un projet obsolète ; dépôt GitHub de test avec une action non épinglée (bac à sable).
  • A09 Logging : pas de lab, cours seulement (log injection).
  • A10 Exceptional Conditions : reprend Information disclosure in error messages.
  • Comptes par défaut (A02), hachage / TLS (A04) : démos en cours, pas de lab.