Sicurezza del file Excel sul lato server

4

Ho bisogno di scrivere un'applicazione che interagirà con i file caricati da fonti non attendibili (utenti). Le specifiche dicono che devo supportare CSV ed Excel. Se permetto a un utente di caricare un file Excel sul server e gestire l'apertura, l'elaborazione e il salvataggio del file server-side, che tipo di problemi di sicurezza sto aprendo a me stesso? Che tipo di attenuazione posso far valere sul problema o è fondamentalmente sconsigliabile? (Per queste domande, supponiamo che il ruolo del server web sia in esecuzione con un account con privilegi minimi).

Modifica chiarimento:

In particolare, sono preoccupato per il file excel ... devo preoccuparmi dell'esecuzione di macro, o di virus, o di non essere un file di Excel? Lo aprirò da un back-end scritto in C # ... che rischio c'è di tentare di leggerlo attraverso un interprete di Excel?

    
posta cocogorilla 21.06.2016 - 00:28
fonte

2 risposte

3

Posso pensare ai seguenti scenari:

  • Dato che si stanno elaborando i dati e si sta eseguendo una chiamata DB, è necessario assicurarsi di aver utilizzato istruzioni preparate nel proprio server web. Questo si prenderà cura di tutti i tuoi attacchi SQL Injection
  • Se stai presentando i dati sulla tua pagina web, assicurati di disinfettare il tuo input per impedire un attacco XSS memorizzato .
  • Un utente malintenzionato può modificare l'ordine delle celle nel file CSV in ordine a arresta il server. Dovresti rendere il tuo codice indipendente dall'ordinamento delle celle nel file CSV (è molto semplice da implementare). È anche una buona funzionalità

Nel tuo caso, dovresti essere preoccupato per la codifica sicura della tua applicazione e per gestire diversi casi limite nella struttura e nei contenuti del file.
IMHO Tutti i vettori di attacco applicabili qui saranno correlati ai dati presenti nei file.

    
risposta data 21.06.2016 - 10:23
fonte
0

Convalida dell'input corretta.
Ho visto molte volte che le applicazioni gestiscono caratteri speciali nei campi di input molto bene tranne che nei dati presenti nel file excel caricato. Assicurati che qualsiasi messaggio di errore che mostri per i dati non validi nel file excel debba essere un messaggio generico e non dovrebbe includere il valore di cella non codificato. Altrimenti la tua app sarà vulnerabile a XSS.

    
risposta data 21.06.2016 - 06:31
fonte

Leggi altre domande sui tag