El parámetro url del sitio web se devuelve a la página, ¿se puede explotar?

1

Actualmente estoy tratando de encontrar una vulnerabilidad en un sitio web (sí, tengo permiso). Encontré una url con un parámetro que, cuando cambio el texto en ella, ese texto se establece como el nombre de la imagen de fondo. Ex. cuando cambio el texto del parámetro url a 'anytexthere', este es el aspecto del bloque de código:

<div style="background-image: url('/images/logo-anytexthere.png')"></div>

¿Es posible explotar esto? He probado los corchetes Unicode y el código HTML normal, y los corchetes HTML unicode / normal simplemente se eliminan en el nombre de la imagen.

tldr; El texto del parámetro url se devuelve al nombre de la imagen de fondo en el código de la página, pero elimina los corchetes / caracteres especiales. ¿Cómo puedo explotar esto?

    
pregunta Jack 10.08.2017 - 01:05
fuente

1 respuesta

2

Ya que no puedes usar ' y " , no hay manera de salir del contexto de la cadena CSS para lograr XSS.

Si se permitieran comillas simples, podría haber inyectado atributos CSS, por ejemplo:

'); color: red; /*

Si se permitieran comillas dobles, podría haber inyectado un atributo HTML, por ejemplo:

" onmouseover="alert('Where is my bounty')

Si se permitieran los paréntesis angulares (pero no las comillas), aún no tendría la posibilidad de inyectar HTML personalizado. Algo como esto no se desencadena :

<div style="background-image: url('/images/logo-><script>alert(1)</script>.png')"></div>

Entonces, lo que te queda es la posibilidad de cambiar la ruta de la imagen a cualquier URL en el mismo dominio. Por ejemplo:

<div style="background-image: url('/images/logo-/../../favicon.ico?.png')"></div>

Como puede adivinar, esto tiene un impacto de seguridad muy limitado. En el raro caso de que el sitio implemente la protección CSRF basándose únicamente en el encabezado Referer , es posible que pueda usar esto para los ataques CSRF. Pero de lo contrario, no hay una forma obvia de explotar este comportamiento.

    
respondido por el Arminius 10.08.2017 - 01:32
fuente

Lea otras preguntas en las etiquetas