Esiste un rischio correlato a consentire all'utente di fornire un URL come profilo immagine?

9

Crea un sito web, vorrei consentire agli utenti di specificare un URL che punta a un'immagine che verrà utilizzata come immagine del profilo (inclusa nel DOM HTML come a).

Ma prima di fare qualcosa di stupido, mi chiedevo se fosse possibile che un malintenzionato usasse questo per altri scopi.

Da quello che so, è possibile specificare un file .php (per esempio), che leggerà la sessione di cookie, e quindi visualizzerà l'immagine. Ma non ho nulla di rischioso memorizzato nel cookie.

Che altro si può fare ed è una scelta molto (molto molto) cattiva o posso andare con esso?

Ho trovato che IE6 ha avuto un problema con questo che potrebbe portare a un exploit XSS, ma bene, è IE6, scritto nel 1874 giusto? (spoiler: non obiettivo affatto gli utenti IE6;))

Grazie per il tuo aiuto.

    
posta Cyril N. 13.02.2013 - 11:05
fonte

2 risposte

10

In realtà ci sono alcuni problemi con l'approccio:

  • Devi preoccuparti degli attacchi CSRF (qualcuno potrebbe usare http://somesite.com/?q=deleteallmydata e chiunque visiti il sito avrà i loro dati su somesite.com cancellati) e, a seconda del tuo codice, sei più vulnerabile a XSS attacchi.

    Questo può essere sofisticato - ad esempio, possono mostrare un'immagine per cominciare, quindi cambiarla con un reindirizzamento.

  • Se il tuo sito è occupato, può essere utilizzato per mettere in scena un attacco DDOS efficace - qualcuno potrebbe inserire un URL per un sito che non gli piace, probabilmente in un modo che esegue risorse del server (una pagina di ricerca o simile) .

  • Gli attacchi all'host di immagini di un utente sono ora attacchi a i tuoi utenti .

Se non vuoi gestire le immagini - potresti prendere in considerazione un host fidato, come link (StackExchange fa qualcosa del genere) per indirizzare i tuoi utenti e limitare i tuoi URL solo a quel sito.

    
risposta data 13.02.2013 - 11:24
fonte
2

Un problema è che un utente malintenzionato può inserire una risorsa immagine dietro Autenticazione di base HTTP e cambiare il regno in modo che sia il nome del sito.

Molto spesso i tuoi utenti meno esperti inseriscono le loro password e li inviano al server remoto.

XSS, come già detto, è anche un altro potenziale problema.

Dal punto di vista delle prestazioni, qualcuno può mettere le immagini su un sito lento e il tuo sito si sentirà lento nei confronti degli utenti.

    
risposta data 14.02.2013 - 08:48
fonte

Leggi altre domande sui tag