L’une des erreurs classiques est d’accepter des media types autres que application/*json(header Content-Type).
Sans aucune autre erreur de configuration C.O.R.S., l’acceptation du media typeapplication/x-www-form-urlencoded permet à l’attaquant de créer un formulaire et de déclencher une simple requête POST.
document.querySelector('form').submit()
Dans ce cas, la plupart des frameworks (Ex. : expressjs) récupèrent un objet :
… mais supposons qu’il soit activé sur tous les "media types" et plus particulièrement text/plain pour simplifier la vie des développeurs "client-side".
1. L’attaquant n’a plus qu’à adapter légèrement le formulaire précédent :