Websecurity: Angriffe mit SSRF, CSRF und XML
()
About this ebook
Read more from Carsten Eilers
iOS Security: Sichere Apps für iPhone und iPad Rating: 0 out of 5 stars0 ratings
Related to Websecurity
Titles in the series (100)
IT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsTFS 2012 Überblick und Installation: Der Weg zum TFS Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsADF - Mobile Apps entwickeln und Swing ablösen: Mobile Apps entwickeln und Swing ablösen Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen Rating: 0 out of 5 stars0 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5JavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsTFS 2012 Anforderungsmanagement: Work Items und Prozessvorlagen Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsSoftwareentwicklungsprozess: Von der ersten Idee bis zur Installation Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsBPM: Strategien und Anwendungsfälle Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsBig Data: Executive Briefing Rating: 0 out of 5 stars0 ratingsMobile Business: Was Entscheider morgen wissen müssen Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsJavaScript auf dem Server Rating: 0 out of 5 stars0 ratingsF#: Ein praktischer Einstieg Rating: 0 out of 5 stars0 ratingsGeolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsJava EE 7: Ein Ausblick Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsC++: Kurzportträt einer zeitlosen Sprache Rating: 0 out of 5 stars0 ratings
Related ebooks
Ich Hacker – Du Script-Kiddy: Hacking und Cracking Rating: 0 out of 5 stars0 ratingsBug Bounty Hunting mit Kali-Linux oder Parrot Security OS: Hacking als Hautberuf oder Nebenjob Rating: 3 out of 5 stars3/5SECURITY AWARENESS: Leitfaden zur IT-Sicherheit für Anwender Rating: 0 out of 5 stars0 ratingsNichts ist sicher: Tricks und Techniken von Cyberkriminellen verstehen und sich schützen Rating: 5 out of 5 stars5/5Hacken mit Kali-Linux: Schnelleinstieg für Anfänger Rating: 0 out of 5 stars0 ratingsJavaScript Security: Sicherheit im Webbrowser Rating: 0 out of 5 stars0 ratingsC# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsAngriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking Rating: 0 out of 5 stars0 ratingsWebseiten hacken: Schnelleinstieg inkl. Entwicklung eigener Angriffsscripte Rating: 0 out of 5 stars0 ratingsCross-Plattform-Entwicklung mit HTML und JavaScript Rating: 0 out of 5 stars0 ratingsGraphQL: Eine Einführung in APIs mit GraphQL Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsMobile Web-Apps mit JavaScript: Leitfaden für die professionelle Entwicklung Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsAndroid mit Kotlin – kurz & gut: Inklusive Android 8 und Android Studio 3.0 Rating: 0 out of 5 stars0 ratingsHTML5, JavaScript und jQuery: Der Crashkurs für Softwareentwickler Rating: 2 out of 5 stars2/5Vue.js kurz & gut Rating: 0 out of 5 stars0 ratingsDie Serverwelt von Node.js Rating: 0 out of 5 stars0 ratingsAutomatisiertes Testen: Testautomatisierung mit Geb und ScalaTest Rating: 0 out of 5 stars0 ratingsWebsecurity: Jahresrückblick Rating: 0 out of 5 stars0 ratingsEinstieg in TypeScript: Grundlagen für Entwickler Rating: 0 out of 5 stars0 ratingsPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsC# 6.0 – kurz & gut Rating: 5 out of 5 stars5/5Java EE Security Rating: 0 out of 5 stars0 ratings
Security For You
Heim-Netzwerke: Netzwerktechnik • High-Speed-Internet • Arbeiten im Heimnetz Rating: 0 out of 5 stars0 ratingsCybercrime: Wie Sie Gefahren im Internet erkennen und sich schützen Rating: 0 out of 5 stars0 ratingsHacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Rating: 0 out of 5 stars0 ratingsKochbuch ISMS: Informationssicherheits-Management nach ISO 27001 Rating: 0 out of 5 stars0 ratingsISO27001/ISO27002: Ein Taschenführer Rating: 0 out of 5 stars0 ratingsWeg ins Darknet und Im Darknet Rating: 0 out of 5 stars0 ratingsWebseiten hacken: Schnelleinstieg inkl. Entwicklung eigener Angriffsscripte Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsNeun Schritte zum Erfolg: Ein Überblick zur Implementierung der Norm ISO 27001:2013 Rating: 0 out of 5 stars0 ratingsAndroid Security: Von Fake-Apps, Trojanern und Spy Phones Rating: 0 out of 5 stars0 ratingsÜberwachungswahn: ...wie umgehen ?? Rating: 0 out of 5 stars0 ratingsIT-Sicherheit ist sexy!: Argumente für Investitionen in IT-Sicherheit Rating: 0 out of 5 stars0 ratingsHeim-Netzwerke Tipps & Tools: Netzwerkverbindungen • Zentraler Datenspeicher • Mediastreaming Rating: 0 out of 5 stars0 ratingsHeimnetzwerke XL-Edition: DSL/WLAN/PC/Handy/Drucker & Co. Rating: 0 out of 5 stars0 ratingsKosten der IT-Sicherheit: Ein Ausgangspunkt für weitergehende Untersuchungen Rating: 0 out of 5 stars0 ratingsFRITZ!Box: Konfigurieren - Tunen - Absichern Rating: 0 out of 5 stars0 ratingsHacken mit Kali-Linux: Schnelleinstieg für Anfänger Rating: 0 out of 5 stars0 ratingsDie Burg IT-Sicherheit: IT-Sicherheit Stein auf Stein Rating: 0 out of 5 stars0 ratingsJavaScript Security: Sicherheit im Webbrowser Rating: 0 out of 5 stars0 ratingsResilience: Wie Netflix sein System schützt Rating: 0 out of 5 stars0 ratingssichere Informationstechnologie: auf der Suche nach robusten Organisationsformen: Cyber-Security, Datenschutz, Managementsysteme Rating: 0 out of 5 stars0 ratingsVersteckte Botschaften (TELEPOLIS): Die faszinierende Geschichte der Steganografie Rating: 5 out of 5 stars5/5
Reviews for Websecurity
0 ratings0 reviews
Book preview
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