Retour à la leçon
Mission

Mission : l'audit de sécurité avant la mise en production

Corriger une faille de prototype pollution dans une fonction de merge, et durcir le stockage d'un token de session.

Contexte

Un audit de sécurité externe de Technologik pointe deux failles avant la mise en production de la nouvelle API de paramètres utilisateur :

js
function mergeParametres(cible, source) {
  for (const cle in source) {
    cible[cle] = source[cle];
  }
  return cible;
}
// un attaquant envoie JSON.parse('{"__proto__": {"estAdmin": true}}') comme "source"

Le token de session est aussi stocké avec localStorage.setItem("token", jwt), ce que l'auditeur qualifie de risque majeur en cas de faille XSS ailleurs sur le site.