Diventa Autore per CoreTech | Scopri di più





Testa le tue competenze XSS utilizzando siti vulnerabili

31/03/20 CoreTech Blog

Trovare e provare le vulnerabilità della sicurezza delle applicazioni richiede molta competenza. Tuttavia, molti di loro sono facili da sfruttare. Se vuoi scrivere un codice migliore, dovresti sapere come gli altri potrebbero depredare i tuoi errori. Abbiamo compilato un elenco dei 10 principali applicazioni Web che sono state rese intenzionalmente vulnerabili allo scripting cross-site (XSS). Sono stati creati in modo da poter imparare in pratica in che modo gli aggressori sfruttano le vulnerabilità di scripting tra siti testando il proprio codice dannoso.

I siti in questo elenco dei primi 10 sono sfide pratiche di hacking o raccolte di tali sfide. Alcuni di questi sono semplici e ti aiutano ad apprendere le basi dello scripting cross-site. Altri presentano sfide più difficili ai problemi di sicurezza per ingegneri esperti. Puoi utilizzare questo elenco per esercitarti e testare le tue abilità, ma puoi anche usarlo per educare gli altri su quanto sia importante proteggere efficacemente il codice.

Nota:< Se si utilizza Chrome (o un altro browser web basato su Chromium) per praticare gli attacchi XSS, potrebbe essere necessario disattivare il revisore XSS (renderà impossibile alcune delle sfide). A tale scopo, avviare Chrome con il seguente flag: --disable-xss-auditor.

#1: Gioco di Google XSS

Nel 2014, Google ha creato un gioco che mostra quanto sia facile sfruttare le vulnerabilità XSS. È stato lanciato per diffondere la consapevolezza della sicurezza e per promuovere il programma di ricompensa dei bug. Il gioco ha 6 livelli di difficoltà crescente. Il gioco Google XSS è semplice. Tutto ciò che richiede è una conoscenza di base di JavaScript e un po 'di consapevolezza di Python. L'autore di questo articolo che non è un ingegnere della sicurezza è arrivato al livello 6 senza cercare su Google soluzioni. Ciò significa che sicuramente puoi farlo anche tu.

#2: avviso (1) per vincere

Questa serie di sfide è stata creata da Erling Ellingsen nel 2013. Simile al gioco XSS di Google, è una serie di 8 livelli sempre più difficili che esplorano diversi aspetti dello scripting cross-site. In generale, le sfide sono più difficili e richiedono un po 'più di esperienza di programmazione. Il più grande aspetto di questo gioco è il fatto che puoi vedere immediatamente i risultati del codice inserito e l'output della console. Ha anche un aspetto competitivo. Quando risolvi un livello, puoi vedere un elenco di altri vincitori e i loro punteggi. Il punteggio si basa sulla durata del payload. Meno caratteri nel tuo XSS, migliore è la tua posizione.

#3: prompt (1) per vincere

Il ricercatore di sicurezza da Hong Kong noto come filedescriptor creato questo sito nel 2014, ispirato da avviso (1) per vincere. Contiene 20 sfide (4 delle quali nascoste) ed è più difficile dei due giochi sopra descritti. Simile a avviso (1) per vincere, questo gioco mostra anche i risultati delle azioni durante la digitazione: il codice HTML e l'output visivo. Tuttavia, non mostra la console, quindi è necessario monitorare gli errori da soli. Si noti che gli ultimi livelli di questa sfida possono rivelarsi impossibili da superare oggi a causa di cambiamenti nei motori del browser.

#4: Sfide XSS di yamagata21

L'insieme delle sfide XSS di Yamagata è uno dei più antichi giochi XSS. Risale al 2008 e contiene 19 fasi a partire dall'esercizio XSS di base. A differenza delle sfide di cui sopra, questa non fornisce risultati dal vivo, nessun output HTML dal vivo e nessun codice sorgente sul lato server, quindi è necessario fare tutto il lavoro da solo. La pagina è costruita proprio come una vera pagina Web che è vulnerabile a XSS. Ciò significa anche che è necessario assicurarsi che la protezione XSS nel browser sia disattivata. Inoltre, tieni presente che alcune fasi (ad esempio 17 e 18) non sono più applicabili e non puoi completarle perché richiedono una versione precedente di Internet Explorer per funzionare.

Banner

#5: Sfide XSS di nopernik

Questa serie di sfide è stata creata da Alexander Korznikov ( nopernik ) nel 2016, quindi è relativamente giovane. Simile al gioco di yamagata, al momento ha 19 sfide, ma ne vengono aggiunte di nuove con il tempo, quindi si spera di aspettarsene altre in futuro. Simile al gioco di yamagata, questa è anche solo una semplice pagina HTML con codice JavaScript di base e nessun extra Aiuto. In questo caso, è anche molto importante disattivare i filtri XSS sul lato client. I livelli più alti non sono nascosti, quindi non è necessario progredire per accedervi. Tuttavia, potrebbe rivelarsi più difficile perché non sembrano esserci soluzioni online.

#6: Sfida XSS Polyglot

Banner

La Polyglot Challenge, progettata dal filedescriptor di Hong Kong (l'autore del prompt (1) per vincere) non è per principianti. Richiede di elaborare un payload che funzioni nella maggior parte dei contesti. Più contesti puoi coprire e più breve è il payload, più alta è la tua classifica. Inizialmente, questa era una sfida black-box: l'autore non ha rivelato i contesti in cui ha testato il payload. Ora, elenca i contesti sulla pagina, quindi la sfida è più semplice. Per essere più efficace, è meglio creare questi contesti su un server Web locale e testare il proprio payload lì prima di inviarlo.

#7: Vulnweb di Acunetix

Questo elenco non sarebbe completo se non contenesse la nostra libreria di siti intenzionalmente vulnerabili. Vulnweb non riguarda solo XSS. Contiene diverse applicazioni con diverse tecnologie come PHP e ASP. Molti di questi sono sensibili a qualche forma di XSS ma anche a SQL Injection e molto altro. Il sito è stato originariamente lanciato per aiutarti a testare scanner automatici di vulnerabilità. Pertanto, non è progettato come una serie di sfide. La tua sfida è cercare di trovare tu stesso le vulnerabilità. Successivamente, puoi usare Acunetix per vedere quanti ne hai perso.

#8: Progetto OWASP WebGoat

Il progetto WebGoat non è un sito online. È un'applicazione open source che devi scaricare ed eseguire da solo. Ti aiuta a imparare attraverso sfide che riguardano non solo XSS (incluso XSS basato su DOM, che è meno comune) ma molti altri tipi di vulnerabilità. WebGoat è attualmente alla versione 8.0 ed è disponibile come download autonomo (un file JAR) o come immagine Docker. Oltre a WebGoat, ci sono molti altri progetti OWASP simili, ad esempio Juice Shop.

#9: Hack.me libreria XSS

Il progetto della comunità Hackme è una libreria di codice di terze parti. Chiunque può caricare esempi di codice su cui gli altri possono esercitarsi. Quando vuoi mettere alla prova le tue abilità, Hackme genera un'istanza per singolo utente con cui puoi lavorare. La libreria Hackme è classificata in base ai tipi di vulnerabilità. Il collegamento fornito sopra porta solo alla parte XSS della libreria. Include molti esempi diversi, sia semplici che complessi. Puoi esercitarti con diversi tipi di XSS tra cui XSS memorizzato, XSS riflesso e XSS basato su DOM.

 #10: cure53 XSS Sfida Wiki

Se il nostro elenco non è abbastanza per te, puoi sempre seguire il wiki della sfida XSS preparato da cure53 e ospitato su GitHub. Nonostante non sia stato aggiornato per un po', contiene ancora un notevole elenco di diverse sfide del passato. La maggior parte delle sfide descritte in questo wiki sono fornite insieme a soluzioni. Tuttavia, alcuni dei siti Web vulnerabili di terze parti purtroppo non funzionano più.


Articoli su Acunetix e Hacking

Trovare le vulnerabilità dei siti web prima degli HackerL'importanza della convalida delle correzioni: lezioni da GoogleSDLC agile e sicuro - Best practiceIn che misura le aziende gestiscono la sicurezza delle applicazioni Web?Cross-Origin Resource Sharing (CORS) e intestazione Access-Control-Allow-OriginCosa sono i reindirizzamenti aperti?DevSecOps: come arrivarci da DevOpsIl bigino su SQL Injection per sviluppatoriSfruttare SSTI in ThymeleafSicurezza nginx: come proteggere la configurazione del serverRafforzamento del sistema Web in 5 semplici passaggiCos'è la sicurezza del sito Web - Come proteggere il tuo sito Web dall'hackingRapporto sulle vulnerabilità delle applicazioni Web Acunetix 2020Perché l'elenco delle directory è pericoloso?Cosa sono gli hack di Google?Cosa è l'attacco BEASTWeb Shells in Action - Rilevazione e prevenzione - parte 5Web Shells in Action - parte 4Mantenere le Web Shells sotto copertura - parte 3Introduzione alle web shell - parte 2: 101 Uso di PHPIntroduzione alle web shell - parte 1Debunking 5 miti sulla postura della sicurezza informaticaIniezioni di NoSQL e come evitarleConfigurazione passo passo di Acunetix con JenkinsCosa sono i riferimenti a oggetti diretti non sicuriAnche il più forte cade: un'iniezione SQL in Sophos XG FirewallAcunetix rilascia Business Logic RecorderCome recuperare un sito Web compromessoCome difendersi dagli hacker Black Hat durante la pandemia COVID-19Che cos'è l'inclusione remota dei file (RFI)?Apache Security - 10 consigli per un'installazione sicuraUn nuovo sguardo sugli attacchi correlati al proxy inversoVulnerabilità delle password comuni e come evitarleTutto quello che devi sapere sugli attacchi Man-in-the-MiddleChe cosa sono le iniezioni HTMLRed Teaming – 5 consigli su come farlo in modo sicuroTesta le tue competenze XSS utilizzando siti vulnerabiliPerché hacker malintenzionati hanno messo gli occhi sugli ospedaliPratiche di codifica sicura – I tre principi chiaveLa maledizione delle vecchie librerie JavaMutation XSS nella ricerca GoogleIgnorare SOP utilizzando la cache del browserCome e perché evitare reindirizzamenti e inoltri non convalidati?Dirottamento di sessione e altri attacchi di sessioneCome abbiamo trovato un altro XSS in Google con AcunetixChe cos'è un buffer overflowChe cos'è l'overflow di IntegerChe cos'è HSTS e perché dovrei usarlo?Che cosa è OS Command InjectionVulnerabilità delle entità esterne XML in Internet ExplorerCoreTech assicura protezione dei siti Web con AcunetixCoreTech distributore Acunetix a fianco dei partner per la CyberSecurityCyberSecurity applicativa, nuova opportunità per voi!