XSS e ordine parser del browser

2

Ricordo di aver letto qualcosa qualche tempo fa sugli attacchi XSS di successo quando veniva usata la tecnica di codifica sbagliata per il contesto. In particolare, lo ricordo quando codifica HTML in contesto Javascript, per il valore di un attributo di un tag che rappresenta un hook Javascript, come onload. Ad esempio,

   <body onload='doSomething ("userdata")'>

dove il codice HTML del server codifica i dati utente prima di scrivere l'HTML sul socket al browser.

Come ricordo, il browser analizzerebbe prima la pagina per HTML, decodificando il valore dell'attributo, annullando la codifica HTML dei dati utente. Il browser dovrebbe essere analizzato per JavaScript. Se i dati utente sono stati creati come un payload XSS, come

  x")&&alert ("xss  

ora verrebbe eseguito. Per la vita di me, non riesco più a trovare i riferimenti pertinenti che dimostrano questo comportamento, né posso ricordare se l'ordine di analisi ha altre sottigliezze - come se gli stili di codifica HTML o gli URL risulteranno in vulnerabilità XSS. O se ci sono problemi di ordine di analisi con la codifica tra URL, CSS e JS.

Quali riferimenti dimostrano che la codifica con i meccanismi nel contesto sbagliato provocherà continue vulnerabilità XSS e che si tradurrà solo in problemi di usabilità?

    
posta atk 24.08.2016 - 22:56
fonte

1 risposta

2

Il standard XML decodificherà implicitamente tutti i valori degli attributi . Quando si esegue il rendering di una pagina HTML, questi attributi vengono interpretati come valori letterali dei loro caratteri decodificati prima di essere interpretati come un possibile evento JavaScript.

Nel contesto di XSS, un evento DOM può portare a XSS minando la routine di escape utilizzata per crea il documento XML . Ad esempio, la seguente sequenza di escape è un vettore XSS:

<img src="CoolPic.jpg" onclick="doSomethingCool('userInput&#000000039;);sendHaxor(document.cookie);//');" />

Questo è uno dei tanti motivi per cui il Content-Security Policy (CSP) è prezioso per prevenire il problema sfuggente di XSS.

    
risposta data 25.08.2016 - 07:58
fonte

Leggi altre domande sui tag