Was ist das Problem bei Webanwendungssitzungen um prüfen zu können, ob ein Benutzer angemeldet ist oder nicht ?
Problem: http ist ein zustandsloses Protokoll-Header
=> Es wird eine Funktionalität benötigt um einen Sitzungsmanagement zu realiserien.
Was ist das größte Sicherheitsproblem bei Webanwendungen?
Größtes Sicherheitsproblem bei Webanwendungen ist die mangelhafte oder fehlerhafte überprüfung von Ein und Ausgabewert
Wie kann eine Session vermerkt werden?
Da http zustandslos ist muss die Zuordnung von Benutzern zu Benutzer-Sessions am Webserver gesondert implementiert werden.
- als Cookie
- über Token
- Hidden field im HTML-Code <input type=“hidden“ name=“SessionsID“ value=“4711“
- Als URL Parameter link.com/index.php?id=4711
- Als Pfadparameter pfad.com/4711/index.php
Was ist die Session-Fixation? Welche Gegenmaßnahmen gibt es
Webanwendung akzeptiert eine unbekannte Session ID
Gegenmaßnahmen:
- Zerstören sämtlicher Session ID‘s beim Login
- Zeitlich begrenzte gültigkeit der Session-ID
- Bei Abmeldung → zerstören der Sessions ID
Was ist XSS?
Cross-Site Scripting (XSS)-Angriffe sind eine Art der Injektion, bei der bösartige Skripts in ansonsten harmlose und vertrauenswürdige Websites eingeschleust werden. XSS-Angriffe treten auf, wenn ein Angreifer eine Webanwendung verwendet, um bösartigen Code, im Allgemeinen in Form eines browserseitigen Skripts, an einen anderen Endbenutzer zu senden. Schwachstellen, die den Erfolg dieser Angriffe ermöglichen, sind weit verbreitet und treten überall dort auf, wo eine Webanwendung Eingaben von Benutzern innerhalb der von ihr generierten Ausgabe verwendet, ohne sie zu validieren oder zu codieren.
Was ist CSRF Cross-Site-Request-Forgery?
Das Opfer wird durch eine präpariert Lücke dazu gebracht, eine Aktion in einer aktiven Session des Benutzers auszuführen
Was ist SQL injektion + beispiel + Gegenmaßnahmen?
Diese Angriffe sind möglich, wenn Eingaben des Benutzers von einem Interpreter als Kommando oder als Abfrage bzw als Teil einer solchen Aktion verstanden und entsprechend ausgeführt werden.
Möglich, wenn eine Benutzereingabe unverändert an ein SQL-Statement im Code übergeben wird
SELECT * FROM users WHERE user=“john“ AND pwd=“‘abc` OR `1`=`1`“
Gegenmaßnahme: Escaping der Benutzereingabe, Nutzung von prepared statements, whitelisting
Wichtige Punkte bei der Abwehr von Angriffen gegen Webanwendungen
• Minimierung der Server-Signatur
• Abstellen des Directory-Listing
• Betrieb des Webservers mit eingeschränkten OS-Berechtigungen
• Deaktivierung aller nicht benötigten Module
• Einschränkung der HTTP-Methoden, z. B. auf GET, POST, HEAD
• Einschränkung der Einbindung von fremden Inhalten
• Zugriff auf Cookies schützen
• Verwendung von TLS und HSTS
• Input- und Output-Validation
• Einsatz einer Web Application Firewall
Last changed2 years ago