Websecurity: Angriffe mit SSRF, CSRF und XML
Von Carsten Eilers
()
Über dieses E-Book
Mehr von Carsten Eilers lesen
shortcuts iOS Security: Sichere Apps für iPhone und iPad Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnlich wie Websecurity
Titel in dieser Serie (100)
Zend Framework 2: Für Einsteiger und Umsteiger Bewertung: 0 von 5 Sternen0 BewertungenJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Bewertung: 0 von 5 Sternen0 BewertungenIT Wissensmanagement: Theorie und Praxis Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in Google Go Bewertung: 0 von 5 Sternen0 BewertungenJavaScript auf dem Server Bewertung: 0 von 5 Sternen0 BewertungenNFC: Near Field Communication für Android-Entwickler Bewertung: 5 von 5 Sternen5/5HTML5 für Mobile Web Bewertung: 0 von 5 Sternen0 BewertungenSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Bewertung: 0 von 5 Sternen0 BewertungenUser Experience Testing 3.0: Status Quo, Entwicklung und Trends Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Bewertung: 0 von 5 Sternen0 BewertungenJava EE Security Bewertung: 0 von 5 Sternen0 BewertungenUX Design für Tablet-Websites: Ein Überblick Bewertung: 0 von 5 Sternen0 BewertungenErfolgreiche Spieleentwicklung: OpenCL Bewertung: 0 von 5 Sternen0 BewertungenGeolocation mit PHP: Foursquare-API, Google Places & Qype Bewertung: 0 von 5 Sternen0 BewertungenADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Bewertung: 0 von 5 Sternen0 BewertungenÜberzeugende Präsentationen: Konzeption, Technik und Design Bewertung: 0 von 5 Sternen0 BewertungenApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Bewertung: 0 von 5 Sternen0 BewertungenTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenMobile Business: Was Entscheider morgen wissen müssen Bewertung: 0 von 5 Sternen0 BewertungenJava 7: Fork-Join-Framework und Phaser Bewertung: 0 von 5 Sternen0 BewertungenNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Bewertung: 0 von 5 Sternen0 BewertungenQualität in IT-Architekturen: Strategie und Planung Bewertung: 0 von 5 Sternen0 BewertungenAmazon Web Services für .NET Entwickler Bewertung: 0 von 5 Sternen0 BewertungenSharePoint-Entwicklung für Einsteiger Bewertung: 0 von 5 Sternen0 BewertungenNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Bewertung: 0 von 5 Sternen0 BewertungenJava EE 7: Ein Ausblick Bewertung: 0 von 5 Sternen0 Bewertungen
Ähnliche E-Books
Ich Hacker – Du Script-Kiddy: Hacking und Cracking Bewertung: 0 von 5 Sternen0 BewertungenBug Bounty Hunting mit Kali-Linux oder Parrot Security OS: Hacking als Hautberuf oder Nebenjob Bewertung: 3 von 5 Sternen3/5Hacking und Bug Hunting: Wie man Softwarefehler aufspürt und damit Geld verdient – ein Blick über die Schulter eines erfolgreichen Bug Hunters Bewertung: 0 von 5 Sternen0 BewertungenSECURITY AWARENESS: Leitfaden zur IT-Sicherheit für Anwender Bewertung: 0 von 5 Sternen0 BewertungenNichts ist sicher: Tricks und Techniken von Cyberkriminellen verstehen und sich schützen Bewertung: 5 von 5 Sternen5/5Hacken mit Kali-Linux: Schnelleinstieg für Anfänger Bewertung: 0 von 5 Sternen0 BewertungenJavaScript Security: Sicherheit im Webbrowser Bewertung: 0 von 5 Sternen0 BewertungenC# 10 – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenAngriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking Bewertung: 0 von 5 Sternen0 BewertungenWebseiten hacken: Schnelleinstieg inkl. Entwicklung eigener Angriffsscripte Bewertung: 0 von 5 Sternen0 BewertungenCross-Plattform-Entwicklung mit HTML und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenGraphQL: Eine Einführung in APIs mit GraphQL Bewertung: 0 von 5 Sternen0 BewertungenEinführung ins Darknet: Darknet ABC Bewertung: 0 von 5 Sternen0 BewertungenMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Bewertung: 0 von 5 Sternen0 BewertungenHTML5 Security Bewertung: 0 von 5 Sternen0 BewertungenAndroid mit Kotlin – kurz & gut: Inklusive Android 8 und Android Studio 3.0 Bewertung: 0 von 5 Sternen0 BewertungenHTML5, JavaScript und jQuery: Der Crashkurs für Softwareentwickler Bewertung: 2 von 5 Sternen2/5Vue.js kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenServer-Infrastrukturen mit Microsoft Windows Server Technologien: Alle Themen für das Microsoft Seminar und die Zertifizierungsprüfung MOC 20413 Bewertung: 0 von 5 Sternen0 BewertungenDie Serverwelt von Node.js Bewertung: 0 von 5 Sternen0 BewertungenAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Bewertung: 0 von 5 Sternen0 BewertungenWebsecurity: Jahresrückblick Bewertung: 0 von 5 Sternen0 BewertungenEinstieg in TypeScript: Grundlagen für Entwickler Bewertung: 0 von 5 Sternen0 BewertungenPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Bewertung: 0 von 5 Sternen0 BewertungenProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Bewertung: 0 von 5 Sternen0 BewertungenC# 6.0 – kurz & gut Bewertung: 5 von 5 Sternen5/5Java EE Security Bewertung: 0 von 5 Sternen0 Bewertungen
Sicherheit für Sie
Kosten der IT-Sicherheit: Ein Ausgangspunkt für weitergehende Untersuchungen Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Kali-Linux: Schnelleinstieg für Anfänger Bewertung: 0 von 5 Sternen0 BewertungenVersteckte Botschaften (TELEPOLIS): Die faszinierende Geschichte der Steganografie Bewertung: 5 von 5 Sternen5/5Überwachungswahn: ...wie umgehen ?? Bewertung: 0 von 5 Sternen0 BewertungenWebseiten hacken: Schnelleinstieg inkl. Entwicklung eigener Angriffsscripte Bewertung: 0 von 5 Sternen0 BewertungenHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenHeimnetzwerke XL-Edition: DSL/WLAN/PC/Handy/Drucker & Co. Bewertung: 0 von 5 Sternen0 BewertungenCybercrime: Wie Sie Gefahren im Internet erkennen und sich schützen Bewertung: 0 von 5 Sternen0 BewertungenKochbuch ISMS: Informationssicherheits-Management nach ISO 27001 Bewertung: 0 von 5 Sternen0 BewertungenWeg ins Darknet und Im Darknet Bewertung: 0 von 5 Sternen0 BewertungenResilience: Wie Netflix sein System schützt Bewertung: 0 von 5 Sternen0 BewertungenAndroid Security: Von Fake-Apps, Trojanern und Spy Phones Bewertung: 0 von 5 Sternen0 BewertungenNeun Schritte zum Erfolg: Ein Überblick zur Implementierung der Norm ISO 27001:2013 Bewertung: 0 von 5 Sternen0 BewertungenDie Burg IT-Sicherheit: IT-Sicherheit Stein auf Stein Bewertung: 0 von 5 Sternen0 BewertungenEinführung ins Darknet: Darknet ABC Bewertung: 0 von 5 Sternen0 BewertungenFRITZ!Box: Konfigurieren - Tunen - Absichern Bewertung: 0 von 5 Sternen0 BewertungenISO27001/ISO27002: Ein Taschenführer Bewertung: 0 von 5 Sternen0 BewertungenIT-Sicherheit ist sexy!: Argumente für Investitionen in IT-Sicherheit Bewertung: 0 von 5 Sternen0 BewertungenJavaScript Security: Sicherheit im Webbrowser Bewertung: 0 von 5 Sternen0 BewertungenHeim-Netzwerke Tipps & Tools: Netzwerkverbindungen • Zentraler Datenspeicher • Mediastreaming Bewertung: 0 von 5 Sternen0 Bewertungensichere Informationstechnologie: auf der Suche nach robusten Organisationsformen: Cyber-Security, Datenschutz, Managementsysteme Bewertung: 0 von 5 Sternen0 BewertungenHeim-Netzwerke: Netzwerktechnik • High-Speed-Internet • Arbeiten im Heimnetz Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Websecurity
0 Bewertungen0 Rezensionen
Buchvorschau
Websecurity - Carsten Eilers
Angriffe.
1 SSRF – was ist das, was kann das, und ist das etwa gefährlich?
Das Thema dieses Kapitels sind eine Schwachstelle und ein Angriff, die oft nicht weiter beachtet werden. Ist diese Missachtung einer möglichen Gefahr gerechtfertigt, oder sollte man vor den Angriffen nicht doch besser auf der Hut sein?
Sie kennen ja sicherlich die Cross-Site Request Forgery (CSRF), bei der eine Webseite eine Aktion auf einer anderen Website im Namen des aktuellen Benutzers ausführt, während dieser dort angemeldet ist. Ein beliebtes Beispiel ist ein IMG-Tag in der Seite des Angreifers, dessen SRC-Attribut den Link zum Ausloggen des Benutzers auf der angegriffenen Website enthält [1]. Also etwa sowas in der Art:
http://www.angegriffene-site.example/benutzer/logout.php>
Wenn der Browser versucht, das Bild zu laden, sendet er einen Request an den URL http://www.angegriffene-site.example/benutzer/logout.php und fügt die von www.angegriffene-site.example gesetzten Cookies hinzu. An denen wird der Benutzer erkannt und ausgeloggt.
Wow, was für eine Gefahr!
Da zittern gleich alle vor Angst, oder? Natürlich nicht. Aber das ist auch gar nicht beabsichtigt. Dieses Beispiel zeigt nur, wie CSRF funktioniert. Tatsächlich sind sehr viel gefährlichere Angriffe möglich; einige neue Entwicklungen im Bereich der CSRF werden im folgenden Kapitel vorgestellt.
Wer aber nur das einfache Beispiel kennt, kommt zum Schluss, dass CSRF ja eigentlich harmlos ist. Und genauso sieht es auf den ersten Blick bei der mit der CSRF weitläufig verwandten Server-side Request Forgery (SSRF) aus. Beide gehen übrigens auf das uralte Problem des „Confused Deputy" [2] zurück, falls Sie die Hintergründe interessieren.
Server-side Request Forgery in der Theorie
Server-side Request Forgery wird als CWE-918 im Common Weakness Enumeration Dictionary wie folgt beschrieben [3]: „The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination."
Diese Beschreibung ist formal halbwegs richtig (es können auch andere Server als Webserver angegriffen werden), aber wenig anschaulich. Bei einem SSRF-Angriff sendet ein Angreifer einen Request an einen Server A, der diesen dazu bringt, selbst einen Request an einen anderen Server B zu senden und das Ergebnis an den Angreifer zurückzuliefern. Der Vorteil für den Angreifer: Für Server B kommt der Request von Server A. Das ist natürlich besonders nützlich, wenn Server B zwar Requests von Server A entgegennimmt, nicht aber von anderen Quellen. Aber ein Angreifer kann so auch seine Herkunft verschleiern, während er zum Beispiel nach angreifbaren Servern sucht.
Das alles lässt sich viel besser mit einem Beispiel erklären. Ein klassisches Beispiel für SSRF ist eine Webanwendung, der man zum Beispiel einen URL zum Laden eines Bilds übergeben kann und die dabei auch Portangaben auswertet. Lässt sich dann je nach Fehlermeldung auch noch feststellen, ob der Port offen oder geschlossen ist, handelt es sich um eine SSRF-Schwachstelle.
Auch das ist noch nicht wirklich anschaulich. Also nehmen wir besser ein Beispiel, das es „in the Wild" wirklich gab. Oder zwei. Oder drei.
Beispiel 1: Eine Schwachstelle auf „marketplace.mozilla.org"
Fangen wir mit einer im Juli 2013 gemeldeten Schwachstelle auf marketplace.mozilla.org an [4]. Beim Anmelden einer App konnte ein URL für das App-Manifest angegeben werden. Der URL konnte eine Portangabe enthalten, die auch ausgewertet wurde. Wurde als URL http://scanme.nmap.org:22 angegeben (Port 22 ist ein offener Port), wurde die Fehlermeldung
Your app failed validation with 1 error. Manifests must be served with the HTTP header Content-Type: application/x-web-app-manifest+json
. See https://developer.mozilla.org/en/Apps/Manifest#Serving_manifests for more information.
zurückgeliefert. Beim URL http://scanme.nmap.org:21 mit einem geschlossenen Port gab es dagegen die Fehlermeldung: „Your app failed validation with 1 error. No manifest was found at that URL. Check