ataque XSS en variables js

-2

Digamos, almaceno una contraseña simple de un usuario en una variable JS global.

¿Alguien puede tener una idea de cómo un pirata informático puede obtener ese valor del navegador del usuario? Ahora que es "posible", pero necesito ejemplos con descripción.

    
pregunta Sonya Seyrios 22.08.2016 - 20:40
fuente

2 respuestas

3

Imagina que estás utilizando un sitio web que es un foro (similar a este) donde los usuarios pueden ingresar su propio contenido y otros usuarios pueden verlo. Ahora imagine que este sitio no limpió correctamente mi entrada, y descubrí una manera de escribir una publicación que, cuando se representa en su navegador, incrusta Javascript ejecutable. Cuando vaya a ver mi publicación, ese Javascript se ejecutará dentro de su navegador y podrá acceder a la variable JS global y, por lo tanto, obtener la contraseña.

Este tipo de cosas se llama ataque XSS almacenado .

    
respondido por el John Wu 22.08.2016 - 20:45
fuente
0

JavaScript se ejecuta en el lado del cliente y puede ser visto por cualquier persona que tenga acceso a la página en la que se encuentra. Cuando su navegador se conecta a un sitio, una de las cosas que puede descargar y ejecutar es JavaScript. Por lo tanto, almacenar cualquier información confidencial en una variable global de JavaScript es una idea terrible y no necesitaría un script XSS complicado para acceder a ella si está en su propia página.

Además, JavaScript no es persistente, o al menos no debería serlo, con la excepción de las cookies. Las cookies se pueden usar para autenticar a los usuarios en un sitio por sesión. Esencialmente, cuando se conectan a un sitio e ingresan detalles de inicio de sesión válidos, se les emite una cookie de sesión válida que actúa como una identificación que les otorga acceso a contenido / páginas privadas o inaccesibles.

Aquí es donde los scripts entre sitios pueden ser peligrosos. Digamos que un sitio web permite JavaScript en los mensajes entre usuarios, y usted envía un mensaje al administrador web con JavaScript que captura la cookie del administrador. Desde allí, teóricamente puedes robar la sesión de usuario del administrador y tendrás todos los permisos que tiene el administrador.

Volviendo a su pregunta original, si un usuario de alguna manera tenía su contraseña en una variable de JavaScript (solo existiría en su computadora, porque JavaScript es del lado del cliente), en teoría podría enviarles un mensaje o publicar un comentario en una página que visitan con JavaScript malicioso que le envía un mensaje con los valores de cada variable en el JavaScript en su navegador. Pero nuevamente, si estás almacenando contraseñas en texto plano en JavaScript, tienes problemas más grandes.

    
respondido por el Verbal Kint 22.08.2016 - 20:51
fuente

Lea otras preguntas en las etiquetas