
Sabias que es posible escribir código Javascript sin utilizar ninguna letra o numero? Vale, no solo javascript, pero en este caso es el lenguaje usado para demostrarlo. Patricio Paladino, muestra como se puede escribir código javascript totalmente funcional con solo 8 caracteres, y todos ellos de puntuación.
La palabra importante en este caso es “Typecasting”, o lo que es lo mismo, convertir una variable de un tipo de datos en otro. Para empezar, tomaremos un array vacío, que en Javascript se escribe con unos corchetes “[ ]“. Si hacemos un casting a entero de este array, utilizando el símbolo de la suma “+”, nos devolverá el numero “0″. Y si utilizamos la exclamación, como operador binario de negación podemos obtener un 1. A partir de aquí, sumando, podemos obtener cualquier número.

Pero obtener números simplemente sumando puede ser muy tedioso para números grandes. Sin embargo, podemos concatenar los números y haciendo casting a cadena, y podemos obtener números largos de una forma mucho mas sencilla.
Para obtener caracteres no numéricos, podemos utilizar las palabras false, o true, proveniente de los booleanos, para sacar cada una de sus letras “f, a, l, s, e, t, r, u”. Dividiendo caracteres no numéricos obtenemos la palabra NaN, y de ahí podemos obtener la “N”. Y dividiendo entre 0, podemos obtener la palabra “infinity”, añadiendo las letras “i, n, y, t” a nuestro conjunto de caracteres.
¿Por que es útil conocer este tipo de cosas? Es útil para la prevención de ataques XSS. Ya que estas técnicas para la obtención de caracteres mediante aritmética y sin utilizar ningún carácter, podría pasar las validaciones mas frecuentes de javascript, e incluso los del servidor.
Puedes encontrar mas información en los siguientes enlaces:
http://patriciopalladino.com/blog/2012/08/09/non-alphanumeric-javascript.html
http://blog.infobytesec.com/2012/09/bypassing-wafs-with-non-alphanumeric-xss.html
http://sla.ckers.org/forum/read.php?24,28687


One Response to “Escribiendo Javascript sin usar letras ni números”
Trackbacks/Pingbacks
Información Bitacoras.com…
Valora en Bitacoras.com: Sabias que es posible escribir código Javascript sin utilizar ninguna letra o numero? Vale, no solo javascript, pero en este caso es el lenguaje usado para demostrarlo. Patricio Paladino, muestra como se puede escribir códi……