Serverseitige Angriffe Flashcards
1
Q
Wie defniert sich ein Angreifer?
A
über seine Möglichkeiten mit dem System zu unteragieren
2
Q
Arten von Angreifern:
A
- Netzwerk-Angreifer
- Web-Angreifer
- Lokal-Angreifer
- Entfernter-Angreifer
3
Q
Netzwerk-Angreifer:
Netzwerk = NW
A
- sitzt an der Kommunikationsverbindung
- Fähigkeiten: Beobachtung, Erzeugung, Unterbrechung des NW-Verkehrs
- Man in the middle
4
Q
Entfernter Angreifer:
A
- kann mit entferntem System über ein Netzwerk interagieren
- Remotysystem durch benutzung/ Missbrauch der verfügbaren Interfaces zu kompromittieren
- Ziele: Ausführung von Code, Abschöpfen von Infos, Denual of Service
5
Q
lokaler Angreifer:
A
- führt beliebigen Code aus (aber mit beschränktem Zugriffsrechten)
- Hauptziel: Gewinnung von zusätzlichen Rechten
- “Man in the Computer”
- Bsp.: Schadsoftware, Jailbreaker
6
Q
Web-Angreifer:
A
- neues Angreifermodell
- spezifisch für Web-Anwendungen
- “Man-in-the-Browser” => erzeugt HTTP-Anfragen aus dem Browser des Benutzers
- XSS-Angreifer => JavaScript im clientseitigen Kontext der angegriffenen Anwendung ausführen
7
Q
Auf einem typischen Web Server…
A
- sind die Ports 80/443/ 8080 geöffnet
- läuft das Betriebssystem und der Web Server (Hauptanwendung, Plug-Ins)
8
Q
Grundlagen HTTP und Web-Anwendungen:
A
- alle HTTP-Transaktionen folgen dem selben allgemeinen Muster
- jede Anfrage des Clients und jede Serverantwort besteht aus drei Teilen
1. Anfrage-, Antwortzeile
2. dem Header
3. optional: Nachrichteninhalt
9
Q
HTTP ist … :
A
- … zustandslos
- nur Request und Response sonst nichts
- kein Handshake, keine Initialisierung
- … menschenlesbar
- damit ist Anfrage abgeschlossen (Nachdem die TCP-Verbindung geöffnet ist, wird die Anfrage-Syntax zum Server hin gestreamt)
10
Q
HTTP Request besteht aus :
A
- der Anfragezeile (GET/index.html HTTP/1.1)
- Liste von HTTP-Headern, getrennt durch durch (bsp. Cookies, Host)
- einer leeren Zeile
- optional: “message body”
11
Q
HTTP Request:
A
- Allgemeine Form der HTTP Anfragezeile: Verb Path Protocol
- Verb: bezeichnet die Aktion, die mit der Zielressource ausgeführt werden soll (Get)
- Pfad (path): gibt Ressourcen an (index.html)
- Protokoll: im Web Entweder HTTP…
- 1.0 oder
- 1.1 der
- 2.0
12
Q
HTTP GET:
A
- Zweck: Ressource abrufen
- sollte keine Seiteneffekte auf den Zustand des Webservers haben
- Enthält keinen Message-Body
- Parameter werden in der URL übergeben
13
Q
HTTP Post:
A
- Zweck: Daten zum Server senden
- diese Daten im Message Body
- diese Methode sollte füt Zustandsändernde Anfragen verwendet werden
14
Q
weitere HTTP Verbs:
A
- HEAD
- PUT, DELETE
TRACE, OPTIONS, CONNECT; PATCH
15
Q
Schema URL:
A
16
Q
HTTP Response besteht aus…:
A
- dem Response-Code
- Liste von Response-Headern
- einer Leerzeile
- Response-Body
17
Q
HTTP Response Code Beschreibung:
A
- Angreifer muss Informationen über sein Ziel zusammentragen bevor er seinen Angriff starten kann
- können eine Menge an Infos liefern wenn man sie richtig liest (insbesondere failed request)
18
Q
HTTP Response Codes:
A
- 2xx Success (200 OK)
- 3xx Redirection (301,302,303,2307)
- 304 Not Modified
- 4xx Client Error (400 Bad Request, 401 Unauthorized, 403 Forbidden)
- 5xx Server Error (500 Intrenal Server Error, 502 Bad Gateway)
19
Q
HTTP Response Headers:
A
- jeder HTTP Response kann belibig viele Response-Header enthalten
- Syntax:
- Name-Wert-Paar als Strings
- getrennt durch carriage return und line feed
- liefert Informationen über:
- Meta- und Serverinformationen
- wie soll der response body weiter verarbeitet werden
- Beispiele: (Set-Cookie, Contect-Type, Content-Length)
- viele Sicherheitsmechanismen basieren auf HTTP-Response Headern
20
Q
HTTPS:
A
- Kombi aus HTTP und SSL (oder TLS)
- verschlüsselt die Kommunikation
- schützt vor Man-In-The-Middle und snooping
- schützt Benutzerauthentifizierung
- Schützt nicht vor Angriffen gegen die Web-Anwendung selbst
21
Q
Web Proxies:
A
- Zwischenstationen die HTTP-Verkehr abfangen, untersuchen und weterleiten
- Zweck: catching, filtern
- Client und Netzwerk-Proxys müssen dem Browser bekannt sein (alle Anfragen werden an Progy geschickt)
- client-seitige Proxys können Sicherheitsaufgaben übernehmen (persönliche Firewalls)
22
Q
Web-Server-Scripting:
A
- bald nach der Entstehung des WWW reichtte es nichtt mehr aus, nur statische HTML-Seiten auszuliefern
- Idee: HTML-Code programmatisch “on the fly”
- Methoden
- CGI (Common Gateway interface) => gibt Daten aus Request an Programm
- Methoden Forts)
- Webserver-Modul => schneller und bessere Schnittstellen (Bsp. mod_perl, mod_php)
- spezieller Anwendngsserver (Bsp. Tomcat, Websphere)
23
Q
Bsp. Web-Applikation
A
- Ziel: Schreibe eine Anwendung, die einen Benutzernamen und ein Passwort entgegen nimmt und sie dann anzeigt