Acceso denegado después de insertar la carga útil XSS reflejada en JavaScript

1

Estoy obteniendo un reflejo múltiple de mi entrada en una página de sitios web, uno de los reflejos de mi entrada es que está dentro de la etiqueta <script> . La etiqueta de script que acabo de mencionar tiene src que se refiere a otro dominio, llamado visualwebsiteoptimizer.com, que luego se refiere al dominio en el que estoy probando mi xss, usando el método de URL: redirect.

<script src="https://dev.visualwebsiteoptimizer.com/deploy/js_visitor_settings.php?v=1&amp;a=25349&;url=https://www.targetdomain.com/en-us/search-results.aspx/search=helloworld

Si inserto una consulta de texto normal, el resultado es (según la consulta encontrada o no encontrada), tan pronto como inserto mi carga útil que es '-alert(1)-' , el sitio web me da un 403 Acceso denegado. Las entradas de texto normales están bien y representan la página, pero insertar cualquier carga útil solo me da un 403.

¿Puede alguien decirme qué está pasando? ¿Estoy obteniendo un XSS pero simplemente no aparece debido a algún WAF?

    
pregunta j_h_o_m_o 29.01.2018 - 15:10
fuente

1 respuesta

2

Lo más probable es que uno de los sitios de la cadena esté realizando la protección XSS, no mediante el filtrado, sino mediante la inclusión en una lista negra de todo lo que se considere peligroso y devuelva automáticamente un 403.

Como ejemplo, una vez conocí a un desarrollador web que realizó toda su protección XSS y SQLi a través de un archivo .htaccess de 10 páginas que verificó la solicitud entrante en cada vector XSS o SQLi que había visto en su década de experiencia. alert , script , SELECT , etc ... si se tratara de una palabra clave en un ataque, se incluyó en la lista negra en su archivo .htaccess y el servidor devolvería automáticamente una respuesta de Acceso denegado 400, independientemente de si había una vulnerabilidad.

¿Es una buena estrategia para la mitigación de XSS? No lo creo. Pero definitivamente es una estrategia que usan las personas, y es muy probablemente la razón por la que se bloquean sus intentos actuales. Una WAF es una forma posible de que alguien pueda implementar dicho filtro. Por supuesto, independientemente de cómo lo hagan, el resultado final es el mismo: estás atascado hasta que encuentras un vector de ataque que su lista negra no detecta y filtra.

    
respondido por el Conor Mancone 29.01.2018 - 15:28
fuente

Lea otras preguntas en las etiquetas