Esistono vulnerabilità XSS durante l'anteprima delle immagini prima di caricarle?

2

Ho scritto uno strumento JQuery per visualizzare l'anteprima delle immagini prima del caricamento.

  • L'utente A fa clic sul pulsante Esplora per selezionare un'immagine
  • lo seleziona
  • un evento di cambiamento mostra l'immagine

Se l'utente A seleziona un'immagine SVG preparata come "greetings_ILL_xss_your_site.svg" o "greetings_ILL_xss_your_site.gif" il mio JQuery otterrà l'immagine da tmp dir, ridimensionandola e mostrandola.

Come svg sono piccoli programmi, e gif può contenere script:

  • Potrebbe eseguire codice che utilizza script XSS?
  • L'immagine in anteprima è autenticata per eseguire richieste di script?
posta quevedo 22.06.2018 - 16:18
fonte

2 risposte

0

No, non c'è. Se qualcuno vuole attaccare il proprio computer con JS, la scheda della console di devtool è molto più semplice rispetto alla creazione di un brutto svg. XSS è solo un problema quando il codice malevolo è condiviso con altri utenti . Se l'utente non era consapevole del fatto che il file fosse malevolo, potrebbe presentare un problema, ma non è il tuo da affrontare.

Inoltre, il contesto di origine / protocollo in cui verrà visualizzata un'immagine di anteprima (data: o blob :) dovrebbe proteggere il tuo sito da un codice immagine errato comunque raggiungibile (sebbene alcuni zero-giorni o qualunque potrebbe essere possibile).

    
risposta data 22.06.2018 - 23:26
fonte
0

Sì, Self-XSS può essere possibile. L'utente dovrebbe creare lo svg / gif sfruttabile da solo o scaricare un file compromesso da qualche parte.

E se il nome file dell'immagine NON è ricodificato e privo di tag / proprietà EXIF, l'immagine creata nella directory tmp può essere utilizzata come collegamento per XSS riflessa, che viene attivata quando una vittima fa clic sul collegamento vulnerabile .

Per quanto riguarda se l'immagine in anteprima è autenticata per eseguire richieste di script, che dipende da come viene letta sulla pagina che viene visualizzata. Se viene caricato direttamente senza alcuna protezione CSP o ricodificato come ho menzionato sopra, allora sarebbe possibile eseguire richieste di script.

    
risposta data 20.11.2018 - 09:48
fonte

Leggi altre domande sui tag