¿JavaScript escrito solo entre paréntesis?

31

Una vez vi un código JavaScript que solo se escribió como corchetes múltiples () . ¿Alguien recuerda este tipo de código? También había un convertidor en línea para convertir JS "normal" en este estilo de código. Quiero mostrarlo mientras una presentación como ejemplo del estado del arte XSS. O ¿cuáles son otros ejemplos XSS realmente sorprendentes?

    
pregunta powtac 20.10.2011 - 00:13
fuente

2 respuestas

25

Lo encontré

Convertidor para convertir JS normal en corchetes solo JS:

respondido por el powtac 20.10.2011 - 00:51
fuente
7

¡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

    
respondido por el George Bailey 14.12.2011 - 23:55
fuente

Lea otras preguntas en las etiquetas