Web-Sicherheit Flashcards

1
Q

Unterschied Client-side und Server-side Angriffe?

A

Server-side Angriffe greifen die Daten und Anwendungen an, die sich auf dem Server befinden, während sich client-side Angriffe auf die Software fokussieren, die auf dem Computer installiert ist.

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

Was ist Cross-Site Scripting? (XSS)

A

Cross-Site-Scripting ist eine Art der HTML-Injection. Cross-Site-Scripting tritt dann auf, wenn eine Webanwendung Daten annimmt, die von einem Nutzer stammen, und diese Daten dann an einen Browser weitersendet, ohne den Inhalt zu überprüfen. Damit ist es einem Angreifer möglich, auch Skripte indirekt an den Browser des Opfers zu senden und damit Schadcode auf der Seite des Clients auszuführen.

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

Beispiele für XSS?

A
  1. Website zeigt Inhalte, die von vorherigem User eingegeben wurden. Wenn die Nachricht in einem Blog zum Beispiel Code enthält, wird der Code bei weiteren Besuchern der Seite ausgeführt.
    –> Persistenter XSS
  2. E-Mail Falle
    Wenn ein Nutzer auf einen Link in einer Spam Mail klickt, wird der Code der im Link versteckt ist ausgeführt und der Code ist dann im Browser des Users.
    –> Temporärer XSS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie kann XSS vermieden werden ?

A

Input Validation:
bezeichnet die Prüfung von beispielsweise Benutzereingaben. Weil fehlende oder unbrauchbare Eingaben zu schwerwiegenden Fehlern innerhalb eines Programms führen können, sollten diese Werte vor einer Übernahme in ein Programm validiert werden. Es erfolgt white statt blacklisting, also was ist erlaubt und nicht was ist verboten.

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

Was ist SQL-Injection?

A

Es ist ein injection attack bei dem SQL-Befehle , durch eine existierende Anwendung, in die Datenbank eingefügt werden. Um dies durchzuführen muss der Angreifer einen Parameter der Webanwendung erfahren und kann so einen SQL Befehl schreiben, den er im Parameter einfügen kann, sodass die Webanwendung diesen Befehl ausführt.

Folge: Daten können geklaut, verändert oder gelöscht werden.

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

Wie kann man sich vor SQL-Injection schützen?

A
  1. Client-supplied data darf keine SQL-Statements modifizieren
  2. Isolation der Webanwendung von SQL
  3. Persistente Frameworks
  4. Kein SQL-Statement auf dem Database Server sollte Parameterwerte enthalten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was ist remote code injection?

A

Code-Injektion ist die Ausnutzung eines Computerfehlers, der durch die Verarbeitung ungültiger Daten verursacht wird. Die Injektion wird von einem Angreifer genutzt, um Code in ein verwundbares Computerprogramm einzuschleusen (zu „injizieren“) und zur Ausführung zu bringen.

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

Wie kann man sich vor remote code injection schützen?

A
  1. Die Rechte des Nutzers auf ein Minimum reduzieren
  2. Eingabevalidierung durch Whitelisting
  3. Dynamic commands validieren
  4. Shell-based Kommunikation sollte vermieden werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly