Cheat Sheet For Sql Injection
Okay, stell dir vor, du bist ein Super-Hacker! (Nur so zum Spaß, natürlich!) Aber auch Super-Hacker brauchen mal einen kleinen Spickzettel, oder? Hier kommt also dein ultimativer, kinderleichter SQL Injection Spickzettel – ohne den ganzen technischen Schnickschnack, versprochen!
Die Basics: Mach's mit Anführungszeichen!
Der einfachste Trick im Buch: Versuch's mal mit 'ner einfachen Anführungszeichen-Bombe. Stell dir vor, du sollst deinen Namen in ein Online-Formular eintragen. Statt "Max Mustermann" tippst du einfach " ' ". Wenn die Webseite daraufhin komische Fehlermeldungen ausspuckt, bingo! Da könnte was gehen!
Noch ein Beispiel: Der Login-Bereich. Angenommen, das Feld für den Benutzernamen ist anfällig. Dann gibst du einfach mal ' oder 1=1-- ein. Wenn du plötzlich eingeloggt bist, obwohl du das Passwort nicht kennst... Glückwunsch! (Aber benutz' deine neu gewonnenen Superkräfte bitte nur für Gutes!)
Der "Oder-Trick": Immer gut für 'ne Überraschung!
Kennst du das "Oder"? Superpraktisch im Alltag, und noch viel praktischer bei SQL Injections! Das hier ist ein echter Klassiker:
' OR '1'='1
Stell dir vor, du bist ein Türsteher (aber ein Türsteher für Daten!). Der "Oder-Trick" sagt im Prinzip: "Lass mich rein, oder wenn das nicht klappt, dann lass einfach jeden rein!" Frech, oder? Aber manchmal klappt's!
Die Mini-Erklärung (aber nur ganz kurz!):
Das '1'='1 ist immer wahr. Die Datenbank denkt also: "Okay, entweder der Benutzername ist korrekt, oder 1 ist gleich 1 (was immer stimmt). Also lass ich den Benutzer rein!" Genial einfach, oder?
"Kommentier's aus!": Der -- Trick
Hast du jemals Code gesehen, in dem manche Zeilen mit // oder -- beginnen? Das sind Kommentare! Die Datenbank ignoriert alles, was dahinter steht. Das können wir uns zunutze machen!
Wenn du vermutest, dass nach deiner Eingabe noch irgendwelcher Code ausgeführt wird, der Ärger machen könnte, dann kommentier ihn einfach aus! So:
DeinWert --
Das -- sagt der Datenbank: "Alles, was jetzt kommt, ist nur Geschwafel. Ignorier's einfach!" So verhinderst du, dass der restliche SQL-Befehl deine Injection-Bemühungen sabotiert.
"Union macht frei... Daten!": Daten auslesen, aber richtig!
Okay, jetzt wird's ein bisschen "fortgeschrittener", aber keine Panik! Der UNION-Trick ist wie ein doppelter Boden. Du schmuggelst quasi deine eigene SQL-Abfrage in die bestehende Abfrage rein. Stell dir vor, du suchst nach "roten Schuhen" im Online-Shop. Mit UNION kannst du stattdessen alle Benutzernamen und Passwörter aus der Datenbank holen! (Wieder gilt: Nur für Testzwecke, gell?).
So könnte das aussehen (extrem vereinfacht!):
' UNION SELECT username, password FROM users --
Damit sagst du: "Zeig mir die roten Schuhe UND zeig mir die Benutzernamen und Passwörter aus der Tabelle 'users'!" Wenn die Webseite das nicht richtig abfängt, hast du gewonnen! (Aber denk dran: Verantwortungsvolles Hacken ist das A und O!)
Warum das funktioniert (wieder nur ganz kurz!):
UNION kombiniert die Ergebnisse zweier SELECT-Abfragen. Wenn die Webseite nicht aufpasst, kann man so zusätzliche Daten aus der Datenbank ziehen.
Was du mit diesem Spickzettel NICHT tun solltest!
Ganz wichtig: Dieser Spickzettel ist nur zum Verständnis und Testen gedacht! Versuch niemals, damit in fremde Systeme einzudringen oder Daten zu stehlen! Das ist illegal und unfair. Stell dir vor, jemand würde das bei dir machen! Sei ein ethischer Hacker, der Schwachstellen findet und meldet, damit sie behoben werden können.
Und noch ein kleiner Tipp: Viele moderne Webseiten sind gut gegen SQL Injection geschützt. Also sei nicht enttäuscht, wenn deine Versuche nicht immer klappen. Das ist ein gutes Zeichen!
Viel Spaß beim "Hacken" (im positiven Sinne!), und denk immer daran: Mit großer Macht kommt große Verantwortung! 😉
