Web-Anwendungen: Kontrollfluss-Probleme Flashcards
1
Q
Kontrollfluss bei Web-Applikationen
A
- bestimmt durch Abfolge der HTTP-Requests und -Responses
- Form und Reihenfolge der HTTP-Requests der Serverseite ergeben sich aus Aktionen im User-Interface
- Logik der Applikation ist auf erwartetes Schema programmiert
2
Q
Manipulierte Requests (request tampering)
A
- Angreifer kann ausgehende HTTP-Requests kontrollieren
Verwundbarkeit: Sicherheitseigenschaften werden direkt von HTTP-Parametern des eingehenden Requests abgeleitet
3
Q
Erzwungenes surfen (forced browsing)
A
- Geheimpfade und direkter Zugriff auf Objekte ohne Berechtigungsprüfung
Verwundbarkeit: Angreifer greift nur auf die URLS zu, die im UI auftauchen
4
Q
HTTP Verb-Tampering
A
- beliebige andere Wörter als GET oder POST
- schlimmster Fall Applikationsserver: Default authorization: ALLOW
5
Q
Fehlende Kontrollfluss-Integrität
A
- bei fehlender Workflow-Integrität kann Angreifer von Schritt a nach c springen (Beispiel: Webshop und Preismanipulation)
- besonders schwer, wenn sich Kontrollfluss über mehrere Parteien erstreckt
- realisiert mit mehreren Redirects zwischen Parteien
6
Q
Lösungsansätze Kontrollflussintegrität
A
- digitale Signaturen von Anbieter und Zahlungsdienstleister
- Kontrollfluss muss serverseitig vorgegeben und kontrolliert werden
7
Q
Nebenläufigkeiten (Race Conditions)
A
- jeder HTTP-Request ist ein Thread
- Threads teilen sich Ressourcen (Filesystem, Datenbank..)
- Web-Applikationen müssen Atomizität bieten
- sorgfältige Bedrohungsmodellierung wichtig
8
Q
Hochladen von Dateien (File Uploads): Sicherheitsprobleme
A
- Dateien vom Angreifer kontrolliert
- Datei wird nach Hochladen auf Server verarbeitet und evtl. sogar ausgeführt (wurde eingeschleust)
- Mediendaten können JavaScript-Code enthalten (XSS)
- Dateien können mehr enthalten, als sie vorgeben (backdoored image files)
9
Q
File Uploads: Tipps
A
- Dateiinhalt gründlich prüfen
- evtl. als BLOB in Datenbank speichern
- Dateigröße beschränken
- Bilddateien reformatieren
- Benutzer darf Filenamen nicht wählen (passwd)