Questa risposta è vulnerabile a xss?

0

La mia applicazione restituisce il parametro categoria nel corpo json come la seguente risposta ..

HTTP/1.1 200 OK
Content-Type: text/javascript; charset=utf-8
P3P: policyref="/w3c/p3p.xml", CP="CAO PSA OUR"
Server: nginx
X-frame-options: SAMEORIGIN
Content-Length: 139
Accept-Ranges: bytes
Date: Mon, 26 Jun 2017 15:47:55 GMT
Connection: keep-alive
Set-Cookie: bf-geo-country=EG; expires=Tue, 27 Jun 2017 15:47:55 GMT; path=/; do                                                                main=.myapp.com;
Content-Security-Policy: upgrade-insecure-requests
Strict-Transport-Security: max-age=120; preload
X-Served-By: cache-hhn1524-HHN
X-Cache: MISS
X-Cache-Hits: 0    
Vary: Accept-Encoding

{
   "response" : "an error occurred",
   "campaign_monitor_errors" : [
      "no config for Newsz<htMl onload=prompt(22)/></html>"
   ]
}

Questo può portare a Reflected XSS by MIME sniffing in IE o Chrome?

    
posta Yasser Gersy 26.06.2017 - 17:55
fonte

1 risposta

1

Risposta breve è che il parametro dovrebbe essere codificato a prescindere. Come paj28 menziona nel commento sopra, dipende da ciò che la pagina lato client fa con i dati.

Il libro " The Tangled Web " di Michal Zalewski ha un capitolo sul rilevamento dei contenuti. Dice: "Nella storia del web, nulla è risultato fuorviante come content sniffing ."

Dà consigli alla fine del capitolo. Suggerimento principale da questo libro e da altre fonti è utilizzare l'intestazione X-Content-Options: nosniff per impedire al browser di individuare il contenuto e ottenere le sue risposte e ignorare l'intestazione del tipo di contenuto.

La reazione del tuo browser al codice JavaScript reale nell'esempio dipenderà dalla versione del browser. Nota:

  • testo / tipo di contenuto javascript è deprecato. Il tipo MIME ufficiale per JavaScript è application / javascript (a partire dal 2006) link
risposta data 27.06.2017 - 18:08
fonte

Leggi altre domande sui tag