- [[#K12|K12]] - [[#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 ## K12 | 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