Retour à la leçonMission
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.