Évasion du sandbox AngularJS sans chaînes

Reflected XSS with AngularJS sandbox escape without strings

Reflected XSS sur AngularJS 1.4.4 — échapper au sandbox et exécuter alert(1) sans $eval ni littéraux string.

Code observé

Tentatives

  • Essai avec chaînes / $eval (n’a pas fonctionné) : {{'a'.constructor.prototype.charAt=[].join;$eval('x=1} } };alert(1)//');}}

  • On peut casser le parsing en injectant via la query string avec & : &7+ 7&7%2b7

Construire dynamiquement alert(1) via toString().constructor.fromCharCode(...) et forcer l’évaluation par un filtre (orderBy) :

Ce fragment casse le parse et, en hex/ASCII, produit la chaîne alert(0).

Payload (URL-encoded fourni)

Mis à jour

Ce contenu vous a-t-il été utile ?