hack that website! · 2020. 5. 26. · penetration testing distro umfangreiche tool-sammlung...
TRANSCRIPT
![Page 1: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/1.jpg)
HACK THAT WEBSITE!WEB SECURITY IM SELBSTVERSUCH
, Dr. Stefan Schlott BeOne Stuttgart GmbH
![Page 2: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/2.jpg)
ABOUT.TXTStefan Schlott, BeOne Stuttgart GmbH
Java-Entwickler, Scala-Enthusiast, Linux-Jünger
Seit jeher begeistert für Security und Privacy
![Page 3: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/3.jpg)
DIE OWASP TOP-10Alpha und Omega der Security-Talks :-)
![Page 4: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/4.jpg)
TOP 10 VON 20131. Injection2. Broken Authentication and Session Management (von 3)3. Cross-Site Scripting (XSS) (von 2)4. Insecure Direct Object References5. Security Misconfiguration (von 6)6. Sensitive Data Exposure (von 7 und 9)7. Missing Function Level Access Control (von 8)8. Cross-Site Request Forgery (von 5)9. Using Known Vulnerable Components (von 6)
10. Unvalidated Redirects and Forwards
![Page 5: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/5.jpg)
MAL DEN „SCHURKE“ SPIELEN ;-)
![Page 6: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/6.jpg)
WERKZEUGETools und willige Opfer
![Page 7: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/7.jpg)
Penetration Testing Distro
Umfangreiche Tool-Sammlung
Livesystem oder Installation
Empfehlung: In VM installieren
Kali Linux
KALI LINUX
![Page 8: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/8.jpg)
TESTANWENDUNGENErste Übungen an absichtlich schwache Anwendungen:
(Damn Vulnerable Web App)
…
OWASP WebGoatDVWAThe BodgeIt Store
Niemals direkt am Netz laufen lassen!
Empfehlung: Zweite VM (teils Live-CD verfügbar)
![Page 9: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/9.jpg)
ERSTKONTAKT
![Page 10: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/10.jpg)
OWASP ZED ATTACK PROXY (ZAP)„Schweizer Taschenmesser“ für Experimente im Browser
Beobachten, Abfangen und Manipulieren vonBrowseranfragen (SSL-Man-in-the-Middle)
Passiver Scanner:Erkennung möglicher Probleme in Anfragen
Spider, aktiver Scanner:Systematische Suche nach Standardproblemen
![Page 11: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/11.jpg)
EINRICHTUNG: HACK'N'PLAY
Automatische Konfiguration via Browser-Plugin
Bei Kali 1.1.0: Vorheriges Updates der Plugins nötig
![Page 12: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/12.jpg)
BETRACHTEN UND ÄNDERN VON REQUESTSRequests werden in hierarchischen Baum festgehalten
Chronologisch: History-Tab
Mittels : Alle Request abfangen
Bestimmte Requests mit Breakpoints abfangen
Eigene Anfragen mittels Manual Request Editor (Tools)
![Page 13: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/13.jpg)
SESSION MANAGEMENTErkennt typische Sessioncookies (über anpassbar)
Durch Aktivieren: Umschalten zwischen Sessions(ZAP ersetzt Sessioncookies vom Browser
durch die gespeicherten)
![Page 14: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/14.jpg)
TYPISCHES VORGEHENManuelles Browsen
Festlegen des Kontexts, Ausschluß der Logout-Seite
Spider starten
Ggfs. Forced Browsing (typische URLs probieren)
Ggfs. Active Scan
![Page 15: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/15.jpg)
SQL INJECTIONIst der kleine Bobby Tables zu Hause?
![Page 16: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/16.jpg)
SQL INJECTION 101SQL-Statement wird direkt zusammengebaut
name = … // (direkt aus dem Webformular)result = SQL.exec("SELECT * FROM Students WHERE NAME='" + name + "';");
SELECT * FROM Students WHERE NAME='Robert';DROP TABLE Students;';
![Page 17: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/17.jpg)
BLIND SQL INJECTIONErkennen der Anfälligkeit…
…wenn nur eine generische Fehlermeldung erscheint…nur eine leere Seite erscheint oder gar keineVerhaltensänderung erkennbar ist
Interpretation des geänderten Verhaltens
Timing-basierte Erkennung: Versuch, die Datenbankantwortmeßbar (damit: erkennbar) zu verzögern
![Page 18: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/18.jpg)
SQLMAPSystematisches Durchprobieren verschiedener SQL-
Injection-Techniken
Datenbank-Fingerprinting
Datenbank-Dump
Und vieles mehr…
![Page 19: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/19.jpg)
SQLMAPsqlmap u 'http://…/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit'cookie 'security=low; PHPSESSID=…' p id
-u URL-p zu untersuchender Parameter
Einige weitere Optionen:
-f -b Weitere Systeminfos via Fingerprinting--tables Tabellenschema--dump Daten-Dump
![Page 20: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/20.jpg)
KORREKTES ANWENDUNGSVERHALTENSaubere Validierung der Eingaben
(nicht schädlich für eigenes Programm)
Encodierung der Ausgaben an andere Anwendungen (hier:Escaping von für SQL gefährlichen Zeichen)
Für SQL: Prepared Statements, Serialisierungs-Bibliothek
![Page 21: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/21.jpg)
SQL IST NICHT ALLES!Injection ist kein SQL-spezifisches Problem!
Zusammenbauen von JPQL-StringsJSP Expression LanguageKlasseninstantiierung durch Klassenangaben in YAML…
![Page 22: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/22.jpg)
CROSS SITE SCRIPTINGInjection im Browser
![Page 23: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/23.jpg)
CROSS SITE SCRIPTINGServer sendet Daten an Client, die dort zur Ausführung
kommen (üblicherweise: JS)
Spring-Beispiel: URL-Parameter via spring:message:
<spring:message text="$param['info']"></spring:message>
JSP EL (sofern das Attribut variable nicht vorher
behandelt wurde):
$variable
![Page 24: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/24.jpg)
QUELLEN FÜR XSS-PROBLEMEPersistent XSS: Daten auf Server hinterlegt
Reflected (non-persistent) XSS: Nicht durch Daten aufServer, sondern durch präparierten Link o.ä.
Anzeige von URL-Parametern oder Cookies
Einfügen von Werten aus der Datenbank
Verwenden von Werten aus Web-APIs
Anzeige von hochgeladenen Dateien
![Page 25: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/25.jpg)
ERKENNUNG MIT ZAPZAPs „Active Scan“ versucht, XSS zu erkennen
Heuristiken versuchen, manipulierte Eingaben in derAusgabe zu finden
Ausführlichere Tests: ZAP Fuzzer
In Request zu manipulierenden String markieren, Fuzzer imKontextmenü wählen
Verschiedene Regel-Sets verfügbar
![Page 26: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/26.jpg)
XSS IST NICHT HARMLOS!Erhebliche Eingiffsmöglichkeiten (Beispiel: beef)
Präparierte Webseite kann „Sprungbrett“ ins Intranet sein
Kompromittierung anderer Webanwendung in selberCookie-Domain
![Page 27: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/27.jpg)
KORREKTES ANWENDUNGSVERHALTENEncodierung der html-Ausgabe (Escaping für html)
…entweder durch umsichtigen Programmierer
…oder durch geeignete Template-Frameworks für Ausgabe(zu bevorzugen)
![Page 28: HACK THAT WEBSITE! · 2020. 5. 26. · Penetration Testing Distro Umfangreiche Tool-Sammlung Livesystem oder Installation Empfehlung: In VM installieren ... (Damn Vulnerable Web App)](https://reader033.vdocuments.site/reader033/viewer/2022051603/5ff0e7a5b377ba78d4291711/html5/thumbnails/28.jpg)
FAZITExperimentieren lohnt sich - und macht Spaß!
Automatisierte Scanner helfen, ersetzen aber keinenmanuellen Scan
Testanwendungen nur lokal erreichbar installieren