Che cos'è il lato client non-DOM XSS?

2

Ho letto le nuove categorie di XSS. Secondo OWASP , non sono più solo riflessi, memorizzati e basati su DOM XSS, ma piuttosto server / lato client, quindi suddiviso in rispecchiato / memorizzato.

Secondo il sito, l'XSS basato su DOM è solo una sezione specifica di XSS lato client. Non sto seguendo la distinzione tra DOM e non lato client XSS. Ogni XSS lato client che posso pensare coinvolge il DOM. Capisco come posso avere un XSS lato client DOM persistente e non persistente, ma quale sarebbe un esempio di XSS lato client non DOM (riflessa e archiviata)?

    
posta user134167 15.10.2018 - 18:38
fonte

2 risposte

1

Proverò a spiegare usando alcune citazioni dalla pagina OWASP che hai collegato. Innanzitutto, cos'è l'XSS basato su DOM?

...the source of the data is in the DOM, the sink is also in the DOM, and the data flow never leaves the browser.

L'XSS lato client non sempre soddisfa questa definizione. Anche se i dati sono inseriti nella pagina del client, i dati possono provenire da qualche altra parte, lika una risposta API dal server:

[For client-side XSS, the] source of this data could be from the DOM, or it could have been sent by the server (via an AJAX call, or a page load).

Quindi (il mio highlight):

With these new definitions, the definition of DOM Based XSS doesn’t change. DOM Based XSS is simply a subset of Client XSS, where the source of the data is somewhere in the DOM, rather than from the server.

Un esempio di XSS lato client non DOM potrebbe essere se il client effettua una chiamata API, recuperando alcuni dati non attendibili e passa direttamente a innerHTML senza servizi igienico-sanitari.

    
risposta data 15.10.2018 - 19:07
fonte
0

"Basato su DOM" fa parte della vecchia convenzione di denominazione in tre parti (riflessa, memorizzata, DOM). Non è più un termine corrente poiché XSS ha smesso di essere solo un problema del server. Tutti gli attacchi XSS lato client utilizzano il DOM, indipendentemente dalla persistenza o dal punto di iniezione.

Il termine DOM implica un'azione dinamica; qualcosa che accade / cambia dopo il caricamento della pagina, mentre il problema sul lato server compare nel markup HTML del view-source della pagina.

    
risposta data 15.10.2018 - 19:02
fonte

Leggi altre domande sui tag