¿Cómo limitar su carga XSS almacenada a solo personas determinadas?

0

Suponga que encontró un sitio web afectado por XSS persistente (almacenado) que desea explotar. ¿Cómo controla qué objetivo puede verse afectado por esta vulnerabilidad? No quiero que todos los que ingresen a la página se vean afectados por la carga útil.

    
pregunta robert 06.01.2018 - 11:29
fuente

2 respuestas

2

Una vulnerabilidad de XSS que te permite ejecutar JS de forma arbitraria te permite hacer cualquier cosa que puedas hacer con JS. Por lo tanto, diseñar su carga útil es simplemente un problema de programación.

Si desea limitar la IP, solo verifique IP de los usuarios . Si desea limitar el nombre de usuario o la identificación que ha iniciado sesión, simplemente tómelo de donde sea que esté almacenado y compárelo con sus objetivos. Los nombres de usuario generalmente se muestran en algún lugar de la página, y si no se trata solo de buscar una página donde se muestra y leerla desde allí. Especialmente para un SPA, el nombre de usuario probablemente se almacena en una variable JS, por lo que ni siquiera tiene que tomarlo desde el DOM.

Es posible que se requiera una búsqueda para encontrar dónde recuperar la información en su caso específico; no hay una solución universal, pero debería ser posible con un poco de JS.

    
respondido por el Anders 06.01.2018 - 12:38
fuente
0
  

No quiero que todos los que ingresen a la página afectados por mi carga útil

Esto se reduce a un caso de autorización. Supongamos que la página en la que el parámetro vulnerable (ahora explotado) reside en un área que está abierta al público. De hecho, todos los que visiten esa página ahora se verán afectados por su carga útil.

Si está tratando de apuntar a usuarios específicos, uno podría podría (consulte el comentario a continuación) explotar una vulnerabilidad anterior, como robar el ID de sesión de los usuarios objetivo y autenticarlo frente a un ya conocido ID de sesión para diseñar su carga útil para apuntar a este usuario específico. Ahora, para que esto suceda, debe asumir que ya ha capturado el ID de sesión de los usuarios específicos y que el ID de sesión aún no ha caducado. (Que es la vulnerabilidad 'anterior' mencionada).

Puede haber otras formas de identificar a los usuarios a los que puede dirigirse, aunque eso depende estrictamente de la aplicación en la que está haciendo el pentesting y de cómo se autentican en el servidor. Una vez más, generalmente necesitará capturar esta información a través de un ataque de estilo MitM.

TL; DR: Todo se reduce a la aplicación web que estás realizando y a la forma en que identifica a sus usuarios. En tu caso, esto es altamente subjetivo. A menos que sepamos exactamente cuál es esa información, eso es todo lo que podemos proporcionar.

    
respondido por el Henry F 06.01.2018 - 12:09
fuente

Lea otras preguntas en las etiquetas