sábado, 4 de mayo de 2013

JavaScript: Inyección de JavaScript – ejemplo sencillo


Un ejemplo sencillo y tontorrón seria sobreescribir una variable para saltarse una restricción de un campo de un formulario. Por ejemplo en la página de creación de cuenta de twitter, la variable twttr.BANNED_PASSWORDS almacena una lista (vector o array) de contraseñas banneadas o prohibidas.





Inyección de JavaScript

Si en la página de twitter sobreescribo la variable twttr.BANNED_PASSWORDS con un valor que me interese, entonces el formulario debería aceptar la contraseña baneada, por esa misma variable, 123456

* demo: Una vez en la página de creación de cuenta https://twitter.com/account/create . Introduzco en la caja de direcciones: javascript:void(twttr.BANNED_PASSWORDS=”jajaja”) y pulso intro. Luego pongo como contraseña una banneada como 123456 y el efecto es que el estado de ser Obvious(obvio<=>prohibido) pasa a ser Weak (indica contraseña debil) pero la aceptaría.

Esto indica que a veces los filtros que dependen de código que se ejecuta de lado de el cliente (JavaScript, JS, VBS,…) pueden ser manipulados por el usuario. Pero si la validación se hiciese de lado del servidor (PhP, ASP, JSP, …) otro gallo cantaría (más seguridad)


Bueno esta es solo una forma de aprovechar una Inyeccion de JavaScript

Share:

0 comentarios:

Publicar un comentario

FOLLOWME


Translate

Followers