Lo script include il dominio incrociato esterno

5

Recentemente una delle mie applicazioni web è stata sottoposta a una valutazione della vulnerabilità e uno dei risultati riguarda lo script di inclusione tra domini. La nostra app Web utilizza addthis_widget.js da AddThis per aggiungere ai segnalibri Facebook / Twitter ecc. Si è raccomandato di copiare il contenuto dello script sul nostro dominio e includerlo da lì, o di implementare nuovamente le funzionalità dello script all'interno del nostro codice.

Si tratta di un problema davvero sfruttabile?

    
posta dorothy 16.02.2015 - 12:05
fonte

3 risposte

5

Se il codice è servito da una rete Content Delivery Network (CDN) di grandi dimensioni, come la CDN di Google, allora è più che probabile che sarai hackerato con altri mezzi. I CDN di grandi dimensioni hanno un sacco di soldi da spendere per la sicurezza e un CDN difficilmente sarà un punto debole nella propria infrastruttura.

Una volta che un sito raggiunge un certo livello di popolarità, deve servire il contenuto statico da un CDN. Considera il seguente post:

Perché dovrei utilizzare la rete CDN di Google per jQuery?

Il bene di un CDN supera l'estremamente improbabile possibilità di compromettere un server ben mantenuto che sta distribuendo contenuto statico. Detto questo, ho trovato un grosso difetto in un prodotto Akamai ...

    
risposta data 16.02.2015 - 16:10
fonte
3

Sì, si tratta di un problema di sicurezza.

Il JavaScript incluso viene eseguito nel contesto del tuo sito web, il che significa che ha il controllo su tutto ciò su cui avresti il controllo.

I file JavaScript esterni possono farti del male , tra gli altri:

  • leggere i cookie (ad es. rubare le sessioni)
  • legge l'input dell'utente (ad es. per leggere gli input della password)
  • cambia ciò che l'utente vede (ad es. per visualizzare annunci, phishing, defacing)
  • esegue i moduli come utente (ad es. per modificare le informazioni degli utenti, per inviare spam ad altri utenti)
  • eseguire richieste ad altri server (ad esempio per inviare le informazioni ottenute al server degli hacker, per eseguire attacchi DOS / bruteforce su altri server, ecc.)

Quindi dovresti includere solo i file JavaScript esterni se :

  • ti fidi del dominio / azienda da cui includi di non farti del male
  • ti fidi di loro per mantenere sicuro il loro server
  • utilizzi HTTPS per l'inclusione per evitare gli attacchi man in the middle

Ovviamente include anche JavaScript da un server esterno :

  • il carico sul server verrà ridotto
  • l'utente potrebbe già avere il file memorizzato nella cache, quindi il sito Web verrà caricato più velocemente per gli utenti.
risposta data 16.02.2015 - 14:48
fonte
1

Il problema principale con l'inclusione di script da altri siti è che loro (o anche qualcuno che può hackerare il loro server) potrebbero modificare lo script per includere il codice dannoso.

In questo momento hai 2 opzioni che hanno "svantaggi" piuttosto grandi:

  1. Reimplementare lo script addthis richiederebbe molto tempo, quindi, io non pensare di voler andare in quel modo. Inoltre dovresti mantenere lo script.
  2. E se fai una copia sul tuo server devi sapere che il team AddThis aggiorna quello script e dovresti controllare se hai una vecchia versione per aggiornarla (che dovresti fare manualmente dal tuo non so se qualcosa di brutto è stato inserito in esso).

Onestamente mi limiterei ad includere lo script AddThis (dal loro server), ma hai un consulente di sicurezza che lavora per te ... Parla con lui delle 3 opzioni e degli svantaggi che vedi su ogni opzione (reimplement, cross domain , copia sul tuo server).

    
risposta data 16.02.2015 - 14:50
fonte