La sicurezza rischia di scaricare automaticamente le immagini esterne dallo script

0

Sto sviluppando un programma che genera immagini da file HTML pieni di dati di feed RSS esterni. Quando il feed RSS contiene immagini, devo verificarne la risoluzione e il formato (ad esempio, se l'immagine è una GIF animata devo fare uno specifico operazione per animare il rendering finale). Gli aggiornamenti dei feed vengono eseguiti da un lavoro in C #, che genera anche il file HTML. L'immagine finale è generata da PhantomJS (o più probabilmente un'altra browser headless scriptable, poiché lo sviluppo di PhantomJS è stato sospeso di recente).

Quali sono i rischi per la sicurezza nel download delle immagini dai link RSS in C # per controllarne la risoluzione e il formato? Sarebbe più sicuro controllare tutto questo nello script JS che fornisco a PhamtomJS?

Le fonti RSS dovrebbero essere sicure ma sono comunque fonti esterne ...

    
posta antoninod 24.10.2018 - 10:29
fonte

2 risposte

0

Dal mio punto di vista è necessario seguire i passi successivi per rendere sicuro il download delle immagini.

  1. Scarica l'immagine con permessi di sola lettura sulla scatola.
  2. Verifica il formato del file ricevuto (ad esempio con la libreria libmagic che ti dirà se è un'immagine reale con grande probabilità).
  3. Apri il file con il tuo programma per leggere la risoluzione e altri valori.
  4. Elimina il file.

Quindi nel caso in cui scarichi un file eseguibile che qualcuno su internet rinomina con .jpg il passaggio 2 e il passaggio 3 falliranno.

Probabilmente aspetti che altri utenti ti diano altre utili opzioni.

    
risposta data 24.10.2018 - 10:45
fonte
0

La questione considerata dell'impatto sulla sicurezza potrebbe essere correlata alla vulnerabilità di Caricamento file senza restrizioni (consultare Caricamento file senza limitazioni OWASP ).

Poiché il feed RSS è un sistema esterno, il contenuto di tali sistemi non può essere considerato attendibile. Il tipo MIME di questo contenuto deve essere convalidato e le immagini devono essere disinfettate prima di essere posizionate sul server da utilizzare.

Vedi il classico possibile attacco seguente:

  • Un codice malevolo posizionato dopo il contenuto dell'immagine. L'applicazione consente di includere file durante l'esecuzione (ad esempio con funzioni come php include ). Come risultato verrà eseguito il codice dall'immagine.
  • Genera un archivio phar basato sul contenuto dell'immagine. Gli utenti vedranno l'immagine ma il file conterrà un codice dannoso nei metadati phar. Puoi vedere un rapporto dettagliato su questo tipo di vulnerabilità ai seguenti link:
  • Nuova tecnica di sfrutta PHP
  • phar: // Vulnerabilità legata alla non gerarizzazione di PHP

Ad eccezione dei casi sopra descritti con RCE, è possibile che il feed RSS venga violato e che nel feed siano presenti immagini con dimensioni Gb diverse. Puoi anche considerare un possibile impatto sul tuo sistema in questo caso.

Le immagini con formato SVG potrebbero contenere anche XSS. Può essere sfruttato quando l'utente apre l'immagine nel suo browser.

    
risposta data 24.10.2018 - 20:35
fonte

Leggi altre domande sui tag