¿Qué es un esquema de explotación en este ataque XSS? [duplicar]

0

Básicamente, he encontrado una inyección XSS cambiando la carga útil con el encabezado X-Forwarded-Host , ya que su valor se refleja en el documento y no está saneado.

Un ejemplo, esta es la fuente del documento:

<a href="http://[PAYLOAD]"></a>

Establecí X-Forwarded-Host en foo"></a><script>alert(1)</script> , y la alerta aparece automáticamente.

¿Existe un esquema de ataque detrás de este tipo de XSS?

Actualizar :

Ya que para explotar este tipo de XSS tengo que sacar provecho de la implementación de CORS, he encontrado esto:

GET /index.php HTTP/1.1
Host: example.org
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Origin: https://milkislyudxi.com

que devuelve esto:

HTTP/1.1 401 Unauthorized
Date: Sun, 15 Oct 2017 20:30:45 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 113
Connection: close
Set-Cookie: wfvt_3441637102=59e3c57552f99; expires=Sun, 15-Oct-2017 21:00:45 GMT; Max-Age=1800; path=/; secure; HttpOnly
X-Robots-Tag: noindex
Link: <https://example.org/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
Access-Control-Allow-Origin: https://milkislyudxi.com
Access-Control-Allow-Methods: OPTIONS, GET, POST, PUT, PATCH, DELETE
Access-Control-Allow-Credentials: true
Vary: Origin
Strict-Transport-Security: max-age=15552000; includeSubDomains; preload
Server: cloudflare-nginx
CF-RAY: 3ae589bca9b44316-MXP

{"code":"rest_cannot_access","message":"Only authenticated users can access the REST API.","data":{"status":401}}

entonces, ¿esto es explotable?

    
pregunta WayneXMayersX 23.10.2017 - 21:35
fuente

1 respuesta

1

El XSS reflejado de los encabezados HTTP generalmente no es explotable. Necesita engañar a la víctima para que envíe una solicitud con un encabezado malicioso, y ¿cómo lo haría? No puedes crear un enlace malicioso como lo harías si el reflejo fuera de la URL. Existe el riesgo de que la única persona que pueda tener con usted sea usted mismo.

Sin embargo, todavía veo dos posibilidades:

  • XSS almacenado, es decir, si el valor de su encabezado se muestra a otra persona. Este sería el caso, por ejemplo, un registro.
  • Si, y este es un gran si, el sitio tiene una política CORS ( Access-Control-Allow-Headers ) que permite establecer ese encabezado, podría engañar a la víctima para que visite un sitio bajo su control que haga una llamada XHR a los vulnerables sitio.
respondido por el Anders 23.10.2017 - 22:09
fuente

Lea otras preguntas en las etiquetas