È sicuro che l'applicazione Web riceva e analizzi le e-mail?

3

Non sono sicuro, se questa domanda deve essere ristretta solo alle applicazioni web, ma questo è il mio interesse particolare.

Supponiamo che un'applicazione Web riceva email (recupera dalla casella di posta), analizzi il contenuto, memorizzi alcune informazioni nel database e in seguito venga utilizzato per preparare alcune informazioni sulla pagina web.

Questo apre ulteriori rischi per la sicurezza rispetto ai campi di input comuni come il campo textarea html in cui l'utente può inserire le stringhe?

Ci sono altre precauzioni di sicurezza se sai che chiunque nel mondo può inviare qualcosa e verrà recuperato e analizzato dalla tua applicazione?

    
posta Džuris 15.12.2015 - 17:54
fonte

3 risposte

2

Non c'è alcun problema specifico con la posta elettronica. L'elaborazione di qualsiasi tipo di contenuto esterno (e quindi probabilmente controllato dagli hacker) ha il suo rischio e non solo nel server. Ad esempio, la visualizzazione dell'e-mail in un'applicazione Web può comportare lo scripting cross-site, CSRF, ecc., Simile a qualsiasi altro contenuto visualizzato nel browser.

    
risposta data 15.12.2015 - 18:22
fonte
2

Molte applicazioni Web eseguono già questo tipo di analisi, anche su software molto conosciuti. Sistemi di ticketing (per il team di supporto), famosi sistemi di prenotazione, ecc., Dove gli utenti ricevono notifiche via email e possono rispondere direttamente via email a una "casella di posta" gestita dall'app Web.

Come si analizza l'e-mail e cosa si fa con il suo contenuto è il punto. Poiché si prevede di analizzare e generare il contenuto di queste e-mail su un'app Web, si applicano due regole:

  1. filtro su input (e sanitizza)
  2. escape sull'output (per evitare XSS, in particolare)
risposta data 15.12.2015 - 21:37
fonte
2

Il pericolo derivante dal prendere dati da una fonte non attendibile dal punto di vista tecnico (al contrario di problemi come ricevere contenuti illegali) deriva dalla possibilità di trattare tali dati come un'istruzione. Esistono due modi (senza intervento umano) che possono accadere: il sistema è progettato per farlo o vi è un difetto nell'elaborazione che causa il trattamento dei dati come istruzioni. Il primo potrebbe esistere durante l'analisi. Ad esempio, se cerchi URL di immagini e segui il link. Un esempio di quest'ultimo potrebbe essere qualcosa di simile a un sovraccarico del buffer se si riceve una grande quantità di dati o un'iniezione SQL.

    
risposta data 15.12.2015 - 22:22
fonte

Leggi altre domande sui tag