¡Este es un hallazgo interesante!
Para aquellos que recién ahora están averiguando ...
Ahora es obvio cómo puedes crear cadenas a partir de llaves, y podrías hacer cosas como window[gibberish](gibberish)
para evaluar algo. Lo que puede no estar claro es que puedes hacer esto sin la palabra window
. Todo lo que necesita es un nombre de variable (como $
o _
)
Ejecuta este código de preparación
$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_]
Tendrás una función.
Ejecuta esto para llamar a alert(0)
en esa función
$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\"+$.__$+$.$$_+$._$_+$.__+"("+$.___+")"+"\"")())();
Source