Permettere agli utenti di caricare e scaricare XML in sicurezza

2

Abbiamo l'obbligo di consentire agli utenti di caricare un documento XML nel nostro sistema. Non lo processiamo, gli permettiamo solo di scaricarlo di nuovo.

Considerate varie vulnerabilità del browser XSS come questo: link (varie aromi che influenzano IE, Chrome e FF)

Qual è il nostro approccio migliore per consentire agli utenti di scaricare di nuovo il documento in modo sicuro? Cose che abbiamo considerato finora:

  • Avvolgi il documento in un file ZIP per il download
  • Utilizza un tipo di contenuto semplice / di testo (abbiamo tutte le intestazioni di disattivazione del contenuto-contenuto abilitate ma non abbiamo ancora testato ciò che IE 8 farà in questo scenario)
  • Qualcosa di completamente diverso?
posta James Crowley 21.01.2015 - 10:10
fonte

4 risposte

1

Ci sono alcuni modi per farlo.

  1. Verifica che XML contenga codice dannoso.
  2. Raddoppia il codice XML. ( link )

È anche possibile crittografare l'XML durante il caricamento e decrittografarlo durante il download.

.Htaccess dovrebbe anche essere modificato per forzare l'utente a scaricare invece di visualizzare nel browser ( link )

    
risposta data 21.01.2015 - 11:18
fonte
1

Quando un utente fa clic per visualizzare un file XML, imposta semplicemente l'intestazione content-disposition per imporre un download al computer locale anziché una visualizzazione nel browser.

Content-Disposition: attachment; filename=foo.xml;

Ovviamente l'utente deve quindi prestare attenzione a ciò che fa con l'XML salvato, ma fare clic per scaricare ora non attiverà automaticamente un attacco XSS.

    
risposta data 22.01.2015 - 17:13
fonte
0

Sembra che lo zipping sia un'opzione valida. Non so come si comportano tutti i browser con il tipo di contenuto in testo normale, suppongo che sia OK, ma chissà, forse una vecchia versione potrebbe riconoscere che stai scaricando XML e provare a sovrascrivere il tipo di contenuto ...

Se vuoi essere veramente gentile con il tuo utente puoi scansionare i file caricati per contenuti dannosi e rimuovere il sus. Esistono servizi cloud che offrono questo servizio come Total virus

    
risposta data 21.01.2015 - 11:09
fonte
0

Potresti qualcosa del genere:

  • Durante il caricamento, il file verrà rinominato in .txt e durante il download forzare con estensione .xml.
  • Potresti usare l'opzione menzionata per il file zip, ma poi devi pensare a qualcosa per vedere l'anteprima del file. (se ti serve questa opzione)

Per la parte di anteprima è importante implementare alcuni XSS Filter Evasion . Questo dovrebbe essere sufficiente per proteggerti.

    
risposta data 21.01.2015 - 11:24
fonte

Leggi altre domande sui tag