Prueba de seguridad de la aplicación web AngularJS

4

Una aplicación angularjs almacena la entrada del usuario en local / sessionStorage y la recupera más tarde para completar los campos del formulario o mostrar ese contenido más adelante. Si se envía un javascript como entrada del usuario, se almacena en el almacenamiento web y se muestra nuevamente según sea necesario, pero no se ejecuta. Asumo que angularjs realiza algún tipo de codificación de salida mientras muestra el contenido de nuevo.

Lo he intentado,

  1. Para usar la fuente de vista en el navegador, pero muestra la expresión antes de compilarla
  2. Use inspector in Chrome - Muestra la entrada como está.
  3. Proxy como Fiddler: no ayudará mucho ya que no se realiza ninguna solicitud.

¿Cómo veo lo que realmente hace el navegador? O cómo interceptar los datos del usuario antes de compilarlos.

P.S. Solo tengo una idea muy básica sobre AngularJS.

EDITAR: Esta pregunta es específica para la seguridad de la aplicación web. Inyecté un script XSS y se "muestra" de nuevo como texto. Ahora necesito verificar si está codificado o no. Tres opciones mencionadas sobre no ayuda.

    
pregunta rajivvishwa 06.05.2013 - 22:33
fuente

1 respuesta

3

AngularJS Batarang parece ser la herramienta que puede estar buscando. Es una extensión de Chrome Developer Tools que agrega soporte para la depuración y la creación de perfiles de aplicaciones AngularJS.

Aparte de eso, también puede inspeccionar los valores de manera estándar accediendo a los valores de los elementos DOM mediante JavaScript. Puede ser un poco difícil obtener un puntero al elemento exacto en cuestión, por lo que lo más fácil sería (para propósitos básicos de depuración) simplemente agregar una identificación al elemento y luego acceder a él de esa manera. También funcionaría en la pestaña Watch Expressions in Sources en Chrome Developer Tools, pero no se actualiza por sí sola cada vez que cambia el valor, por lo que puede establecer un punto de interrupción de la escucha de eventos (depende del tipo de evento que busca) y actualizar Los valores de esta manera en el depurador. Sin embargo, si desea capturar a los AngularJS propios oyentes de eventos (reemplazar los existentes, o también crear otros nuevos), a continuación, este hilo en StackOverflow debe cubrirlo (la respuesta para su caso de uso está en la pregunta en sí misma).

Pero, el AngularJS Batarang es mucho más conveniente, así que no hay necesidad de reinventar la rueda aquí. No estoy diciendo que lo harías, sino que lo hice, antes de descubrir la extensión. De todos modos, espero que algo de esto ayude;)

    
respondido por el TildalWave 07.05.2013 - 19:06
fuente

Lea otras preguntas en las etiquetas