Input Processing Flashcards

1
Q

Erkennung falscher Eingaben anhand von ..

A
  • Vergleichen mit Richtlinien
  • Verifizierung von Eigenschaften der Eingabe
  • Formaten
  • Checksummen
  • Signaturen
  • Zugriffs Log-Dateien
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Reaktion, wenn unauthorisierte Modifikation an Input erkannt werden ..

A
  • Zurückweisen
  • Blocken
  • Zugriffsbeschränkung
  • Alarmierung
  • Benachrichtigungen
  • Logging
  • Herunterfahren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Beispiele
C Strings / Buffer Overflow
Gründe

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Beispiele
C Strings / Buffer Overlow
Probleme

A
  • Nicht-terminierter Strings
  • Überschreiben von Speicherbereichen die nicht zum String gehören
  • Wer verantwortet Buffer Management?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Beispiele

Meta Characters

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Beispiele

Zeichensätze

A
  • Zeichen werden durch unterschiedlich viele Bytes dargestellt
  • Muss Input erst decodiert/ transfomiert werden
  • Ist die visuelle Darstellung missverständlich?
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Web Security
Command Injection
Erklärung

A
  • Software nutzt externe Eingaben um Kommando umzusetzen

- Eingaben können spezielle Elemente enthalten, die neutralisiert werden müssen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Web Security
Command Injection
Anzeichen für Schwachstellen

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Web Security
Command Injection
Lösungsansätze

A
  • Vermeide externe Kommando Aufrufe
  • Whitelisting der erlaubten Befehle
  • Nutze Rechte, die verhindern auf andere Inhalte zuzugreifen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Web Security
Cross-site-scripting
Allgemein

A

Die Web-App neutralisiert Eingaben nicht bevor diese im Output platziert werden und diese an einen anderen Nutzer ausgeliefert werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Web Security
Cross-site-scripting
Ablauf

A
  1. Nicht vertrauenswürdige Eingaben werden an die Web App übermittelt
  2. App generiert Web Page mit nicht vertrauenswürdigen Daten
  3. Die App verhindert bei der Erzeugung der Seite nicht, das der Content vom Browser ausgeführt wird
  4. Das Opfer besucht die Seite
  5. Die Skripte werden im Kontext der Seite ausgeführt und werden nicht durch die same-origin-policy behindert.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Web Security
Cross-Site-Scripting
Welche Arten werden unterschieden?

A
  1. DOM-based XSS
  2. Reflected CSS (non persistent)
  3. Stored XSS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Web Security
Cross Site Scripting
DOM-Based XSS

A
  • Ein vertrauenswürdiges Skript, dsa vom SErver kommt nimmt Benutzereingaben und bettet dieses in die SEite ein.
  • Einbettung erfolg auf Client-Seite
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Web Security
Cross Site Scripting
Reflected XSS

A

(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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Web Security
Cross Site Scripting
Stored XSS

A

(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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Web Security
Cross Site Scripting
Lösungsansätze

A
  • Escapen von HTML vor dem Einfügen in HTML Elemente
  • Escapen von Attributen vor dem Einfügen in HTML Elemente
  • Escapen von JS vor dem Einfügen in JS Data Values
  • Escapen von CSS vor dem Einfügen in HTML Style Property Values
  • Escapen von URl vor dem Einfügen in HTML URL Parameter
  • Vermeide inline JS mit Content Security Policy
  • Nutze security-fokussierte Endoding Bibliotheken
17
Q

SQL Injection

Allgemein

A
  • Keine (vollständige) Neutralisierung von speziellen Elementen, die in SQL-Kommandos genutzt werden.
  • Eingabe wird direkt an DB weitergeschickt
  • MS SQL kann sogar Shell Kommandos ausführen
18
Q

SQL Injection

Ablauf

A
  1. Versuche mögliche Schwachstellen zu finden
  2. Sammle Infos über DB-Schema
  3. Finde SQL Version heraus
  4. Führe Angriff durch
19
Q

SQL Injection

Lösungsansätze

A
  • Eingaben Validierung (Whitelisting)
  • Keine SQL-Fehlermeldung ausgeben (erleichtert die Suche)
  • Prepared Statements benutzen
  • Nutzer Privilegien beschränken und Nutzer separieren
  • Error Reporting nur für interne Nutzer