Buon giorno, sviluppatori web! Oggi parleremo di un'applicazione super utile che ti insegna lezioni sulla sicurezza delle applicazioni web. Saluta WebGoat , un'applicazione web deliberatamente non sicura sviluppato da OWASP , con l'intento di insegnare come correggere i difetti comuni delle applicazioni Web in tempo reale con esercizi pratici. Questa applicazione può essere molto utile per coloro che desiderano conoscere la sicurezza delle applicazioni e le tecniche di test di penetrazione.
Un avvertimento: WebGoat è PURAMENTE A SCOPO EDUCATIVO . Rende il tuo sistema estremamente vulnerabile agli aggressori. Quindi, insisto che tu lo usi in una macchina virtuale nella tua rete locale. Non connettere la tua macchina di prova a Internet. Sei stato avvisato!
Come distribuire WebGoat
WebGoat può essere distribuito utilizzando Docker o come applicazione autonoma. Dal momento che è puramente per scopi di apprendimento e didattici, preferisco usarlo in Docker.
Installa Webgoat utilizzando Docker
Fare riferimento ai seguenti collegamenti per installare Docker se non l'hai già installato.
- Come installare Docker in CentOS
- Come installare Docker in Ubuntu
Dopo aver installato Docker, esegui il comando seguente per distribuire WebGoat.
$ docker run -it -p 127.0.0.1:80:8888 -p 127.0.0.1:8080:8080 -p 127.0.0.1:9090:9090 -e TZ=Asia/Kolkata webgoat/goatandwolf:v8.2.2
Sostituisci il fuso orario con il tuo nel comando precedente.
Questo comando estrarrà l'ultima immagine Docker WebGoat e avvierà le istanze WebGoat e webwolf in pochi minuti. Una volta avviato, vedrai un output simile a quello di seguito.
[...] 2017-12-05 11:22:50,132 INFO - FrameworkServlet 'mvc-dispatcher': initialization completed in 533 ms 2017-12-05 11:22:50,171 INFO - Initializing main webgoat servlet 2017-12-05 11:22:50,173 INFO - Browse to http://localhost:8080/WebGoat and happy hacking! Dec 05, 2017 11:22:50 AM org.apache.coyote.http11.Http11Protocol start INFO: Starting ProtocolHandler ["http-bio-8080"]
Dopo l'avvio dell'immagine Docker, puoi accedere alla pagina di destinazione, alle interfacce WebGolf e WebWolf ai seguenti URL.
- La pagina di destinazione -
http://localhost
- Dashboard WebGoat -
http://localhost:8080/WebGoat
- Interfaccia WebWolf -
http://localhost:9090/WebWolf
Installa Webgoat come applicazione autonoma
Assicurati di aver installato Java . Quindi, scarica l'ultima versione di WebGoat dalla pagina dei rilasci .
Infine, avvia WebGoat come mostrato di seguito.
$ java -Dfile.encoding=UTF-8 -jar webgoat-server-8.2.2.jar [--server.port=8080] [--server.address=localhost] [--hsqldb.port=9001] $ java -Dfile.encoding=UTF-8 -jar webwolf-8.2.2.jar [--server.port=9090] [--server.address=localhost] [--hsqldb.port=9001]
Ora è il momento di correggere le vulnerabilità. Come accennato in precedenza, disconnetti Internet prima di iniziare a usarlo.
Come correggere i difetti delle applicazioni Web in tempo reale utilizzando WebGoat
Apri la tua navigazione web e vai a http://localhost:8080/WebGoat o http://indirizzo-IP:8080/WebGoat . Vedrai con la seguente schermata.
Accedi con:webgoat/webgoat . Questo è il login amministrativo. Puoi anche utilizzare un normale account utente:ospite/ospite .

Ora verrai indirizzato alla sezione panoramica di WebGoat, dove troverai varie istruzioni su come lavorare con WebGoat per correggere difetti e vulnerabilità comuni di un'applicazione web.

Come puoi vedere, ci sono molte categorie di lezioni nel riquadro di sinistra. Clicca su una categoria per visualizzare le lezioni incluse.
Ad esempio, fammi scegliere Injection Flaws -> Command Injection programma delle lezioni.

Come puoi vedere, ci sono 5 schede per la lezione selezionata.
- Mostra sorgente - Questo mostrerà il codice sorgente Java sottostante.
- Mostra soluzione - Questo mostrerà la soluzione completa della lezione selezionata.
- Mostra piano - Questo mostrerà gli obiettivi e gli obiettivi della lezione.
- Mostra suggerimenti - Questo mostrerà suggerimenti tecnici per risolvere la lezione.
- Riavvia la lezione - Se vuoi riavviare una lezione puoi usare questo link.
Fare clic su ciascuna lezione e provare a risolvere la lezione e, se necessario, utilizzare i suggerimenti. Se non riesci a risolvere la lezione utilizzando i suggerimenti, visualizza la soluzione per i dettagli completi.