El escaneo de la vulnerabilidad de la aplicación web AngularJS falla debido a '#' en la url

1

Intenté escanear mi aplicación web creada con el front-end de AngularJS y el backend de PHP. Pero el escaneo con escáneres como Nessus y Websecurify falla debido a '#' en la URL. Mi URL tiene formato

http://domain.com/webapp/index.php/base#controller/function

Cuando verifiqué el registro de acceso de apache, encontré que los escáneres descartan la porción de la URL después de '#'. Así que siempre busca http://domain.com/webapp/index.php/base .

¿Cómo puedo resolver este problema?

    
pregunta Harikrishnan 23.12.2015 - 08:02
fuente

1 respuesta

1

Los navegadores no envían nada después del carácter hash al servidor. Cualquier cosa después de ese personaje solo se puede acceder desde el lado del cliente con JavaScript. Algunos escáneres de vulnerabilidad (como burp suite) realizan un análisis de código estático para ver si la aplicación es vulnerable a los scripts entre sitios basados en DOM, por ejemplo. Por lo general, no ejecutan JavaScript, por lo que los métodos de escaneo típicos no se aplican aquí.

También vea: enlace

  

El identificador del fragmento funciona de manera diferente que el resto de la URI: es decir, su procesamiento es exclusivamente del lado del cliente sin la participación del servidor web; por supuesto, el servidor generalmente ayuda a determinar el tipo MIME, y el tipo MIME determina la Procesamiento de fragmentos. Cuando un agente (como un navegador web) solicita un recurso web de un servidor web, el agente envía el URI al servidor, pero no envía el fragmento. En su lugar, el agente espera a que el servidor envíe el recurso, y luego el agente procesa el recurso según el tipo de documento y el valor del fragmento. [2]

Por lo tanto, sus opciones son difuminar manualmente los parámetros después del carácter hash en el navegador o leer el código fuente de JavaScript.

    
respondido por el Volker 23.12.2015 - 10:29
fuente

Lea otras preguntas en las etiquetas