Input Processing Flashcards
Erkennung falscher Eingaben anhand von ..
- Vergleichen mit Richtlinien
- Verifizierung von Eigenschaften der Eingabe
- Formaten
- Checksummen
- Signaturen
- Zugriffs Log-Dateien
Reaktion, wenn unauthorisierte Modifikation an Input erkannt werden ..
- Zurückweisen
- Blocken
- Zugriffsbeschränkung
- Alarmierung
- Benachrichtigungen
- Logging
- Herunterfahren
Beispiele
C Strings / Buffer Overflow
Gründe
- C hat keinen nativen String Typ sondern nur Char Arrays
- NUL (0x00) markiert das Ende eines Strings
- Manuelles Buffer Management
- Statische größen können zu klein sein
- Dynamische größen können zu inperformant sein
Beispiele
C Strings / Buffer Overlow
Probleme
- Nicht-terminierter Strings
- Überschreiben von Speicherbereichen die nicht zum String gehören
- Wer verantwortet Buffer Management?
Beispiele
Meta Characters
- Meta Characters sind Zeichen zur Formatierung
- Können Teil von Dateinamen, E-Mail-Adressen, SQL Statements sein
- Validierung von ankommenden Input speziell auf den Einsatzzweck angepasst.
Beispiele
Zeichensätze
- Zeichen werden durch unterschiedlich viele Bytes dargestellt
- Muss Input erst decodiert/ transfomiert werden
- Ist die visuelle Darstellung missverständlich?
Web Security
Command Injection
Erklärung
- Software nutzt externe Eingaben um Kommando umzusetzen
- Eingaben können spezielle Elemente enthalten, die neutralisiert werden müssen
Web Security
Command Injection
Anzeichen für Schwachstellen
a) Eingaben kommen aus nicht vertrauenswürdiger Quelle
b) Eingaben sind Teil eines Strings, der als Kommando aufgerufen wird
c) Benutzer erhält Rechte durch Ausführung eines Kommandos
Web Security
Command Injection
Lösungsansätze
- Vermeide externe Kommando Aufrufe
- Whitelisting der erlaubten Befehle
- Nutze Rechte, die verhindern auf andere Inhalte zuzugreifen
Web Security
Cross-site-scripting
Allgemein
Die Web-App neutralisiert Eingaben nicht bevor diese im Output platziert werden und diese an einen anderen Nutzer ausgeliefert werden.
Web Security
Cross-site-scripting
Ablauf
- Nicht vertrauenswürdige Eingaben werden an die Web App übermittelt
- App generiert Web Page mit nicht vertrauenswürdigen Daten
- Die App verhindert bei der Erzeugung der Seite nicht, das der Content vom Browser ausgeführt wird
- Das Opfer besucht die Seite
- Die Skripte werden im Kontext der Seite ausgeführt und werden nicht durch die same-origin-policy behindert.
Web Security
Cross-Site-Scripting
Welche Arten werden unterschieden?
- DOM-based XSS
- Reflected CSS (non persistent)
- Stored XSS
Web Security
Cross Site Scripting
DOM-Based XSS
- Ein vertrauenswürdiges Skript, dsa vom SErver kommt nimmt Benutzereingaben und bettet dieses in die SEite ein.
- Einbettung erfolg auf Client-Seite
Web Security
Cross Site Scripting
Reflected XSS
(non persistent)
- Der Server nimmt Benutzereingaben entgegen, baut diese in die SEite ein und liefert die Seite zurück
- Enthält die EIngabe JS-Code, führt der Browser diese aus
- Einbettung erfolgt auf Server
Web Security
Cross Site Scripting
Stored XSS
(persistent XSS)
- Gefährliche Eingaben werden auf den Server gespeichert (z.B. in Datenbanken, Log-Files)
- Eingaben werden beim Aufruf der Seite immer wieder eingebunden
- Einbettung auf Server