Un PDF caricato inaccessibile può danneggiare un server?

2

È possibile che un file PDF caricato danneggi un server Apache, se non è possibile trovare il percorso file? Cioè, il file PDF non può essere visualizzato dal browser o accessibile da un percorso conosciuto una volta caricato.

Ho una funzionalità all'interno di un sito Drupal che consente a chiunque di caricare un file PDF per far sì che venga eseguita qualche elaborazione ImageMagick. Il file risultante è un JPEG.

Il file PDF viene eliminato automaticamente non appena viene visualizzato il file JPEG. Ma sono preoccupato che anche durante il breve tempo di elaborazione, un PDF dannoso potrebbe danneggiare il server. O che l'elaborazione IMageMagick può essere interrotta e consentire al file PDF di vivere sul server.

Ecco la procedura:

L'utente cerca e sceglie il file PDF.

Utente salva il nodo.

  • la possibilità di visualizzare il PDF caricato prima di salvare il nodo è stata disabilitata (non impostata nel modulo, non solo nascosta)
  • durante il caricamento, il nome del file PDF cambia e il nome della directory di caricamento contiene una stringa casuale
  • esiste un limite per la dimensione del file
  • presumibilmente il mimetype viene rilevato usando PHP FileInfo ma non posso dire se funziona (un test indica che non lo è)

Si verifica l'elaborazione di ImageMagick.

Il nuovo nodo viene visualizzato automaticamente.

  • Il file PDF viene automaticamente eliminato non appena viene visualizzato il nodo
  • Il nuovo nodo contiene solo un collegamento al JPEG risultante
posta keva 21.02.2014 - 19:13
fonte

1 risposta

1

Potrebbe danneggiare. Considera che un utente malintenzionato potrebbe creare un PDF dannoso per sfruttare la tua implementazione imagemagick e ottenere l'accesso al tuo sistema.

Un'altra domanda potrebbe essere "può un file per la sua semplice esistenza danneggiare la tua azienda?". Prendiamo diversi approcci di sicurezza:

  1. Integrità: non riesco a vedere un file che comprometta l'integrità del server se nessuno e nessun processo lo utilizzano. Ovviamente il tuo file originale impostato sul tuo server sarà diverso dopo aver lasciato questo file lì. Ma va abbastanza bene ...
  2. Riservatezza: questo è un punto, se comunichi ai tuoi utenti che il loro PDF è segreto, ma in realtà può essere scaricato se qualcuno conosce il percorso, quindi stai mentendo a loro. E questa sarà una vulnerabilità nel tuo servizio. Dato che dici che non è disponibile a nessuno, non riesco a vedere alcuna vulnerabilità qui.
  3. Disponibilità: normalmente non lo sarebbe, ma se alla fine sempre più PDF rimarranno lì per errori, alla fine non avrai più spazio nel tuo disco per continuare con il tuo servizio, quindi hai un'altra vulnerabilità. Anche solo uno potrebbe attivare questo problema per alcuni errori di progettazione.
  4. Non repudio: non riesco a vedere alcun problema qui per questo servizio.
risposta data 21.02.2014 - 21:31
fonte

Leggi altre domande sui tag