Guten Tag, Webentwickler! Heute werden wir über eine äußerst nützliche Anwendung sprechen, die Ihnen Lektionen über die Sicherheit von Webanwendungen beibringt. Begrüßen Sie WebGoat , eine absichtlich unsichere Webanwendung entwickelt von OWASP , mit der Absicht zu vermitteln, wie man häufige Webanwendungsfehler in Echtzeit mit praktischen Übungen behebt. Diese Anwendung kann für diejenigen sehr nützlich sein, die mehr über Anwendungssicherheit und Penetrationstesttechniken erfahren möchten.
Ein Wort der Vorsicht: WebGoat ist REIN FÜR BILDUNGSZWECKE . Es macht Ihr System extrem anfällig für Angreifer. Ich bestehe also darauf, dass Sie es in einer virtuellen Maschine in Ihrem lokalen Netzwerk verwenden. Verbinden Sie Ihr Prüfgerät nicht mit dem Internet. Sie wurden gewarnt!
So stellen Sie WebGoat bereit
WebGoat kann entweder mit Docker oder als eigenständige Anwendung bereitgestellt werden. Da es nur zu Lern- und Bildungszwecken dient, verwende ich es lieber in Docker.
Installieren Sie Webgoat mit Docker
Verwenden Sie die folgenden Links, um Docker zu installieren, falls Sie es noch nicht installiert haben.
- So installieren Sie Docker in CentOS
- So installieren Sie Docker in Ubuntu
Führen Sie nach der Installation von Docker den folgenden Befehl aus, um WebGoat bereitzustellen.
$ 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
Ersetzen Sie im obigen Befehl die Zeitzone durch Ihre eigene.
Dieser Befehl zieht das neueste WebGoat-Docker-Image und startet die WebGoat- und Webwolf-Instanzen in wenigen Minuten. Sobald es gestartet ist, sehen Sie eine Ausgabe wie unten.
[...] 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"]
Nachdem das Docker-Image gestartet wurde, können Sie unter den folgenden URLs auf die Zielseite, die WebGolf- und die WebWolf-Oberfläche zugreifen.
- Die Zielseite -
http://localhost
- WebGoat-Dashboard –
http://localhost:8080/WebGoat
- WebWolf-Schnittstelle -
http://localhost:9090/WebWolf
Installieren Sie Webgoat als eigenständige Anwendung
Stellen Sie sicher, dass Sie Java installiert haben . Laden Sie dann die neueste WebGoat-Version von der Versionsseite herunter .
Starten Sie schließlich WebGoat wie unten gezeigt.
$ 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]
Jetzt ist es an der Zeit, die Schwachstellen zu beheben. Trennen Sie, wie bereits erwähnt, das Internet, bevor Sie es verwenden.
So beheben Sie Fehler in Webanwendungen in Echtzeit mit WebGoat
Öffnen Sie Ihren Webbrowser und navigieren Sie zu http://localhost:8080/WebGoat oder http://IP-Adresse:8080/WebGoat . Sie werden mit dem folgenden Bildschirm sehen.
Melden Sie sich an mit:webgoat/webgoat . Dies ist das administrative Login. Sie können auch das normale Benutzerkonto verwenden:Gast/Gast .
Jetzt landen Sie im Übersichtsbereich von WebGoat, wo Sie verschiedene Anweisungen zur Arbeit mit WebGoat finden, um häufige Fehler und Schwachstellen einer Webanwendung zu beheben.
Wie Sie sehen können, gibt es im linken Bereich viele Unterrichtskategorien. Klicken Sie auf eine Kategorie, um die enthaltenen Lektionen anzuzeigen.
Lassen Sie mich beispielsweise Injection Flaws -> Command Injection auswählen Unterrichtsplan.
Wie Sie sehen können, gibt es 5 Registerkarten für die ausgewählte Lektion.
- Quelle anzeigen - Dies zeigt den zugrunde liegenden Java-Quellcode.
- Lösung anzeigen - Dies zeigt die vollständige Lösung der ausgewählten Lektion.
- Plan anzeigen - Dies zeigt die Ziele des Unterrichts.
- Hinweise anzeigen - Dies zeigt technische Hinweise zum Lösen der Lektion.
- Lektion neu starten - Wenn Sie eine Lektion neu starten möchten, können Sie diesen Link verwenden.
Klicken Sie auf jede Lektion und versuchen Sie, die Lektion zu lösen, und verwenden Sie gegebenenfalls die Hinweise. Wenn Sie die Lektion nicht mithilfe der Hinweise lösen können, sehen Sie sich die Lösung an, um vollständige Details zu erhalten.