Angriffsziel UI: Benutzeraktionen, Passwörter und Clickjacking
()
About this ebook
Read more from Carsten Eilers
shortcuts iOS Security: Sichere Apps für iPhone und iPad Rating: 0 out of 5 stars0 ratings
Related to Angriffsziel UI
Titles in the series (100)
Geolocation mit PHP: Foursquare-API, Google Places & Qype Rating: 0 out of 5 stars0 ratingsZend Framework 2: Für Einsteiger und Umsteiger Rating: 0 out of 5 stars0 ratingsSkalierbare Softwaresysteme: Design, Betrieb und Optimierungspotenziale Rating: 0 out of 5 stars0 ratingsServiceorientierte Architektur: Anforderungen, Konzeption und Praxiserfahrungen Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsHTML5 Security Rating: 0 out of 5 stars0 ratingsErfolgreiche Spieleentwicklung: OpenCL Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsJava 7: Fork-Join-Framework und Phaser Rating: 0 out of 5 stars0 ratingsJavaScript für Eclipse-Entwickler: Orion, RAP und GWT Rating: 0 out of 5 stars0 ratingsUX Design für Tablet-Websites: Ein Überblick Rating: 0 out of 5 stars0 ratingsNintex Workflow: Konzepte und Strategien für leistungsfähige SharePoint-Workflows Rating: 0 out of 5 stars0 ratingsAmazon Web Services für .NET Entwickler Rating: 0 out of 5 stars0 ratingsTFS 2012 Versionskontrolle: Grundlagen, Check-In Policies und Branch-Modelle Rating: 0 out of 5 stars0 ratingsSharePoint-Entwicklung für Einsteiger Rating: 0 out of 5 stars0 ratingsIT Wissensmanagement: Theorie und Praxis Rating: 0 out of 5 stars0 ratingsHTML5 für Mobile Web Rating: 0 out of 5 stars0 ratingsÜberzeugende Präsentationen: Konzeption, Technik und Design Rating: 0 out of 5 stars0 ratingsEinstieg in Google Go Rating: 0 out of 5 stars0 ratingsBig Data: Technologiegrundlagen 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 ratingsNFC: Near Field Communication für Android-Entwickler Rating: 5 out of 5 stars5/5Erfolgreiche Spieleentwicklung: OpenGL, OpenAL und KI Rating: 0 out of 5 stars0 ratingsNutzeraspekte in Suchmaschinen: Komponenten für eine gelungene Usability-Gestaltung Rating: 0 out of 5 stars0 ratingsQualitätssicherung mit JavaScript und PHP Rating: 0 out of 5 stars0 ratingsErfolgreich bewerben in der IT - die besten Praxistipps von A wie (Anschreiben) bis Z (wie Zeugnis) Rating: 0 out of 5 stars0 ratingsQualität in IT-Architekturen: Management Rating: 0 out of 5 stars0 ratingsM2M by Eclipse Rating: 0 out of 5 stars0 ratingsApache Tapestry: Einstieg in die komponentenorientierte Webentwicklung Rating: 0 out of 5 stars0 ratings
Related ebooks
HTML5 Security Rating: 0 out of 5 stars0 ratingsHacken mit Kali-Linux: Schnelleinstieg für Anfänger Rating: 0 out of 5 stars0 ratingsEinführung in Programmiersprachen Rating: 0 out of 5 stars0 ratingsC# 10 – kurz & gut Rating: 0 out of 5 stars0 ratingsJava EE Security Rating: 0 out of 5 stars0 ratingsWebsecurity: Angriffe mit SSRF, CSRF und XML Rating: 0 out of 5 stars0 ratingsSharePoint Kompendium - Bd. 16 Rating: 0 out of 5 stars0 ratingsLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Rating: 0 out of 5 stars0 ratingsIch Hacker – Du Script-Kiddy: Hacking und Cracking Rating: 0 out of 5 stars0 ratingsASP.NET Core: Eine Einführung Rating: 0 out of 5 stars0 ratingsGrundlagen der Softwareentwicklung Rating: 0 out of 5 stars0 ratingsPHP for Office: Automatisierte Dokumentenerstellung mit PHPExcel, PHPWord und PHPPowerPoint Rating: 1 out of 5 stars1/5Einführung ins Darknet: Darknet ABC 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/5PowerShell: Anwendung und effektive Nutzung Rating: 5 out of 5 stars5/5Android-Programmierung kurz & gut Rating: 0 out of 5 stars0 ratingsLogging: Schnelleinstieg Rating: 0 out of 5 stars0 ratings.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Rating: 0 out of 5 stars0 ratingsAlgorithmen: Grundlagen und Implementierung Rating: 0 out of 5 stars0 ratingsJava Core Programmierung: Memory Model und Garbage Collection Rating: 0 out of 5 stars0 ratingsSoftware entwickeln mit C#, WPF und dem MVVM-Konzept Rating: 0 out of 5 stars0 ratingsC# 8.0 – kurz & gut Rating: 0 out of 5 stars0 ratingsProgressive Web-Apps: Offlinefähige Web-Anwendungen mit nativen Qualitäten Rating: 0 out of 5 stars0 ratingsPrinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Rating: 0 out of 5 stars0 ratingsJavaScript und Ajax: Das Praxisbuch für Web-Entwickler Rating: 0 out of 5 stars0 ratingsProgrammieren lernen mit Python 3: Schnelleinstieg für Beginner Rating: 0 out of 5 stars0 ratingsMicrosoft Azure: Cloud Entwicklung für lokale Applikationen Rating: 0 out of 5 stars0 ratingsJavaScript Security: Sicherheit im Webbrowser Rating: 0 out of 5 stars0 ratings
Security For You
Heimnetzwerke XL-Edition: DSL/WLAN/PC/Handy/Drucker & Co. Rating: 0 out of 5 stars0 ratingsCybercrime: Wie Sie Gefahren im Internet erkennen und sich schützen Rating: 0 out of 5 stars0 ratingsÜberwachungswahn: ...wie umgehen ?? Rating: 0 out of 5 stars0 ratingsEinführung ins Darknet: Darknet ABC Rating: 0 out of 5 stars0 ratingsHeim-Netzwerke: Netzwerktechnik • High-Speed-Internet • Arbeiten im Heimnetz Rating: 0 out of 5 stars0 ratingsSECURITY AWARENESS: Leitfaden zur IT-Sicherheit für Anwender Rating: 0 out of 5 stars0 ratingsWebseiten hacken: Schnelleinstieg inkl. Entwicklung eigener Angriffsscripte Rating: 0 out of 5 stars0 ratingsVersteckte Botschaften (TELEPOLIS): Die faszinierende Geschichte der Steganografie Rating: 5 out of 5 stars5/5Heim-Netzwerke Tipps & Tools: Netzwerkverbindungen • Zentraler Datenspeicher • Mediastreaming Rating: 0 out of 5 stars0 ratingsDie Burg IT-Sicherheit: IT-Sicherheit Stein auf Stein Rating: 0 out of 5 stars0 ratingsIch Hacker – Du Script-Kiddy: Hacking und Cracking Rating: 0 out of 5 stars0 ratingsKochbuch ISMS: Informationssicherheits-Management nach ISO 27001 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 ratingsKosten der IT-Sicherheit: Ein Ausgangspunkt für weitergehende Untersuchungen 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 ratingsAndroid Security: Von Fake-Apps, Trojanern und Spy Phones 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/5Weg ins Darknet und Im Darknet Rating: 0 out of 5 stars0 ratingsJavaScript Security: Sicherheit im Webbrowser Rating: 0 out of 5 stars0 ratingsFRITZ!Box: Konfigurieren - Tunen - Absichern 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/5Resilience: Wie Netflix sein System schützt Rating: 0 out of 5 stars0 ratingsISO27001/ISO27002: Ein Taschenführer Rating: 0 out of 5 stars0 ratingssichere Informationstechnologie: auf der Suche nach robusten Organisationsformen: Cyber-Security, Datenschutz, Managementsysteme Rating: 0 out of 5 stars0 ratingsWebsecurity: Angriffe mit SSRF, CSRF und XML Rating: 0 out of 5 stars0 ratingsIT-Sicherheit ist sexy!: Argumente für Investitionen in IT-Sicherheit Rating: 0 out of 5 stars0 ratings
Reviews for Angriffsziel UI
0 ratings0 reviews
Book preview
Angriffsziel UI - Carsten Eilers
GmbH
1 Angriffe über Logikfehler
Logikfehler sind äußerst unschön. Das fängt schon mit ihrer Beschreibung an, die allgemein gehalten gar nicht einfach ist. Beim Auftreten eines Logikfehlers verhält sich die Anwendung in einem bestimmten Status anders, als eigentlich erwartet wird. Zum Beispiel könnte ein Logikfehler dazu führen, dass der Arbeitsfluss manipuliert und ein eigentlich notwendiger Schritt übersprungen werden kann. Solche Schwachstellen entstehen meist, weil bei der Entwicklung mögliche externe Einflüsse (und insbesondere keine absichtlichen, bösartigen Manipulationen) auf den Ausführungspfad gar nicht oder zumindest nicht ausreichend berücksichtigt wurden.
Der Preis kann geändert werden
Ein klassisches Beispiel ist ein Bestellvorgang, bei dem der Preis der Ware manipuliert werden kann. Es ist normal, dass der Server den Preis an den Client sendet, er muss dem Kunden ja angezeigt werden. Wird er bei der Bestellung aber als versteckter Parameter zurück an den Server übertragen, ist das verdächtig. Wieso sollte der Client dem Server den Preis mitteilen, den der doch kennt? Mit etwas Glück ist das nur eine überflüssige Datenübertragung. Es kann aber auch eine gefährliche Schwachstelle dahinter stecken, und zwar wenn dieser manipulierte Preis von der Webanwendung für den weiteren Bestellablauf verwendet wird. Wenn die Waren dann ohne weitere Prüfung ausgeliefert werden, kann das für den Shopbetreiber teuer werden.
Ja, wo stecken sie denn?
Für die Erkennung von Logikfehlern ist das Verständnis der Anwendung nötig, sie lassen sich daher im Allgemeinen mit automatisierten Tools nicht erkennen. Denn kein noch so aufwändig programmiertes Tool kann erkennen, ob ein Schritt in einem Arbeitsablauf übersprungen werden kann/darf oder nicht. Logikfehler können daher nur durch manuelle Tests gefunden werden. Und da dabei alle Schritte zumindest aller potenziell gefährlichen Arbeitsabläufe meist mehrmals durchlaufen werden müssen, ist das aufwändig und fehleranfällig.
Von der Theorie zum praktischen Beispiel
Das obige Beispiel ist schön, aber auch einfach. Wie wäre es mit einem etwas komplizierteren? Vielleicht erinnern Sie sich noch an die kleine Webanwendung, die in den vorherigen Folgen des Securityworkshops als Beispiel diente. Wenn nicht, ist es auch nicht schlimm. Die Anwendung dient nur dazu, Texte zu erfassen und wieder auszugeben, außerdem gibt es eine rudimentäre Benutzerverwaltung, die zwischen normalen Benutzern (die Texte nur lesen dürfen), Autoren (die Texte auch verfassen und eigene Text ändern dürfen) und Administratoren (die auch die Texte anderer Autoren ändern dürfen) unterscheidet.
Möchte ein Administrator den Text eines anderen Benutzers ändern, wählt er zuerst den Benutzer aus einer Liste mit allen existierenden Benutzern aus. Die ID des ausgewählten Benutzers wird an den Server gesendet, der sie in der Sessionvariable ziel_id speichert. Danach wird dem Administrator eine Liste von den von diesem Benutzer erstellten Texten angezeigt, aus denen er dann einen Text zum Ändern auswählen kann. Der Code zur Auswahl des zu ändernden Texts folgt dem Muster in Listing 1.1.
if ( isset($_SESSION['ziel_id']) ){
// Änderung eines fremden Texts:
// Auflisten der Texte des Benutzers mit der ID $_SESSION[ziel_id']
...
}
else {
// Änderung eines eigenen Texts
// Auflisten der Texte des aktuellen Benutzers
...
}
// Bearbeiten des ausgewählten Texts
...
Listing 1.1
Diese Anwendung funktioniert zur vollsten Zufriedenheit der Entwickler und enthält auch keine Schwachstellen. Nun wird sie um eine Funktion zum gemeinsamen Arbeiten an einem Text erweitert.
Um einem bestimmten Benutzer Änderungen an einem neuen Text zu erlauben, wird zuerst der Benutzer aus einer Liste mit allen existierenden Benutzern