La sovrascrittura di un prototipo Javascript comporta un attacco XSS?

0

Sto cercando una caratterizzazione formale di un attacco che sfrutti la funzione di sovrascrittura del metodo prototipico nei programmi Javascript. Ad esempio, se un utente malintenzionato sostituisce con successo il metodo Object.prototype.toString , può accedere a oggetti e dati che possono essere considerati "nascosti" nelle chiusure, ogni volta che quei valori "nascosti" hanno i loro metodi toString() richiamati.

Ho creato un esempio più elaborato in cui uno script attaccante perde informazioni sensibili propagate nell'API Javascript di Crypto - guardalo qui in azione.

Questa tecnica / approccio è una forma di attacco XSS? Se è così, c'è un nome stabilito per questo?

    
posta Humberto 14.01.2018 - 05:16
fonte

2 risposte

1

Sembra che non si stia specificando il vettore con cui viene eseguito il codice non attendibile. Questo sembra essere un buon esempio di attacco che sfrutta quanto sia difficile sandbox / prevenire le vulnerabilità durante il caricamento e l'esecuzione di codice non affidabile. Mentre XSS è il vettore più comune per ottenere codice non affidabile da eseguire in javascript, questo non sembra essere un XSS.

Questo è simile a un problema java CERT: link

    
risposta data 15.01.2018 - 21:40
fonte
1

Non stai descrivendo un attacco qui. Quello che stai descrivendo qui è qualcosa che un utente malintenzionato potrebbe fare dopo essere riuscito a trovare un attacco che permetta loro di inserire codice javascript arbitrario in un contesto a cui non appartiene.

Ci sono diversi modi in cui questa iniezione potrebbe accadere. Un attacco cross-site-scripting (XSS) è uno, ma ci sono molti altri tipi di iniezioni di script.

    
risposta data 15.01.2018 - 21:47
fonte

Leggi altre domande sui tag