Fondamentalmente, ho trovato un'iniezione XSS cambiando il carico utile con l'intestazione X-Forwarded-Host
, poiché il suo valore si riflette nel documento e non è sterilizzato.
Un esempio, questa è la fonte del documento:
<a href="http://[PAYLOAD]"></a>
Ho impostato X-Forwarded-Host
su foo"></a><script>alert(1)</script>
e l'avviso viene immediatamente visualizzato.
Esiste uno schema di attacco dietro questo tipo di XSS?
Aggiorna :
Poiché per sfruttare questo tipo di XSS devo approfittare dell'implementazione di CORS, ho trovato questo:
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
che restituisce questo:
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}}
quindi, è sfruttabile?