
Attaccare Applicazioni Web con il Cross-site Scripting
Cari lettori di Tecnogalaxy, oggi riprenderemo l’argomento sulla sicurezza delle applicazioni web, andremo a vedere una tecnica utilizzata dai malintenzionati per attaccare appunto application web, il Cross-site Scripting.
Cos’è il Cross-site Scripting e come funziona un attacco XSS?
Il Cross-site Scripting (XSS) è una vulnerabilità dei siti Web, consente ad un attaccante remoto di “iniettare” pezzi di codice dannosi nelle singole pagine con vari scopi:
- Rubare informazioni riservate .
- Installare malware sui browser degli utenti.
- Manipolare e reindirizzare informazioni.
Inizialmente la sigla XSS venne utilizzata per definire tutti gli attacchi effettuati alle applicazioni web che sfruttavano il linguaggio javascript.
Con il tempo la definizione si è ampliata, per poter comprendere anche altri modi di iniezione di codice malevolo, come ad esempio:
- ActiveX
- Java
- VBscript
- Flash
- HTML
Cosa possiamo fare per proteggerci?
Per capire come difenderci, dobbiamo imparare come funziona questa tecnica.
La tecnica tutto sommato è abbastanza semplice, in pratica un attaccante remoto potrebbe “iniettare” del codice malevolo nella barra degli indirizzi assieme all’ URL che digita ignaro il malcapitato, in modo tale da far eseguire al web server (dove è ospitato il sito), alcuni comandi.
Ovviamente questi comandi verranno eseguiti solo se il server è stato mal configurato dagli sviluppatori del sito.
Con del codice javascript, un attaccante potrebbe essere in grado di rubare dati sensibili contenuti nei cookie di sessione, nei token di sessione e via dicendo.
I cookie di sessione, sono dei semplici file di testo utilizzati per autenticarsi nei servizi utilizzati dalla vittima. L’attacco consiste nel riuscire a leggerne il contenuto così da impersonificare l’utente e utilizzare i vari servizi al suo posto.
Analisi tecnica di un attacco Cross-site Scripting
Per evitare un attacco di tipo Cross-site Scripting bisogna sempre analizzare gli header dei messaggi che riceviamo da un server, quando effettuiamo una richiesta di visualizzazione di una pagina Web.
Per fare questo controllo basta anche il browser Chrome, aperta la pagina Web interessata, premiamo il tasto F12 per entrare in modalità Sviluppatore.
Spostiamoci nel tab Network, eseguiamo uno scan dei contenuti della pagina per analizzare i flag dei cookie. La mancanza di flag come HttpOnly, SameSite e Secure sono indice di scarsa sicurezza del sito visitato.
Perché? Se il flag Httponly è attivo non si può accedere a un cookie attraverso uno script lato client “valutare se il browser lo supporta”.
Se la vulnerabilità XSS fosse presente e un utente dovesse cliccare per errore sul link malevolo, il browser stesso non rivelerebbe il cookie di sessione a un utente non autorizzato;
Il flag Samesite, impedisce gli attacchi di tipo Cross site request forgery.
Attivando il flag corrispondente, si obbligano i browser ad usare il protocollo HTTPS, (connessione cifrata che rende il cookie illeggibile da un malintenzionato.)
Il flag Secure, non è totalmente sicuro, perché molti siti dispongono di connessioni in HTTPS e in HTTP.
Come tutti sappiamo il protocollo HTTPS, prevede la cifratura del traffico Internet impedendo ad un malintenzionato di vedere il contenuto di un cookie in chiaro.
Se deve essere gestito anche la connessione in HTTP, un malintenzionato potrebbe forzare l’utente ad autenticarsi mediante connessione non criptata , perché manipolata dal malintenzionato.
Il cookie modificato sarà poi usato nelle richieste successive mandate in HTTPS.
Difendersi dal Cross-site Scripting
Verificare che il web server sia configurato in modo corretto, controllare che il codice scritto sia protetto per le app che utilizzano i nostri clienti e prevenirne la manomissione da parte di malintenzionati.
E’ importante conoscere bene le best practice per la validazione del codice, la sanitizzazione e l’escaping così da tutelare i dati sensibili dei nostri clienti.
Lato user, per evitare un attacco di tipo Cross-site Scripting, come prima cosa installare un buon antivirus sul proprio computer e tenerlo sempre aggiornato.
Tenere sempre aggiornato anche il browser che usiamo per navigare, su Internet.
Come sempre fatene buon uso facendo dei test su vostri device / computer , farli su device/computer non vostri è illegale.
Al prossimo articolo.
N.B.: Non mi assumo nessuna responsabilità dell’uso che farete della guida, in quanto stilata per uso didattico e formativo.
Giorgio Perego
IT Manager
Leggi anche:
- Ecco Vision Pro: il visore di Apple
- Top 10 annunci avvenuti durante il WWDC
- Le 4 migliori app mobili per scommesse: caratteristiche, costi e utilizzo su iOS e Android
- Come riparare file video corrotti
- Come risparmiare sulla partita iva nel 2023
Ti è stato di aiuto questo articolo? Aiuta questo sito a mantenere le varie spese con una donazione a piacere cliccando su questo link. Grazie!
Seguici anche su Telegram cliccando su questo link per rimanere sempre aggiornato sugli ultimi articoli e le novità riguardanti il sito.
Se vuoi fare domande o parlare di tecnologia puoi entrare nel nostro gruppo Telegram cliccando su questo link.
© Tecnogalaxy.it - Vietato riprodurre il contenuto di questo articolo.
I PIÙ LETTI
ARTICOLI RECENTI