Ausbilder: Okay, jetzt wissen wir,
dass wir hier jeden Code einfügen
können, den wir wollen, und er wird auf dem System ausgeführt.
Schauen wir uns also die Aussage noch einmal an.
Die Anweisung lautet also: Wählen Sie *
aus Konten aus, wobei der Benutzername dem hier eingegebenen
Benutzernamen und das Kennwort dem dort eingegebenen Kennwort entspricht.
Mal sehen, ob wir das nutzen können, um uns ohne Passwort
anzumelden, ohne das Passwort zu kennen.
Und das mache ich mit dem Administrator.
Also, der Administrator, der Benutzername wird admin sein.
Und ich weiß nicht, wie das Passwort für den Administrator lautet.
Also, was ich tun werde, ich
werde einfach irgendetwas, also nichts wirklich, irgendein zufälliges Passwort
einfügen, und im Code sollte ich hier laufen.
Also machten und 1 = 1 und, oder so, Also,
was ich tun werde, ist, ich werde tun
oder, anstelle von und.
Und ich werde 1 = 1 sagen.
Also, was unser Code sein wird, sobald ich dies
ausführe, sobald
ich dies injiziere, wird dies hier reingehen, wie wir
es zuvor getan haben.
Unser Code wird also so aussehen, also wird
es so sein.
Wählen Sie aus den Konten *
aus, bei denen unser Benutzername gleich admin ist.
Und Passwort ist gleich AAA.
Das ist falsch.
Oder 1 = 1, was
richtig ist.
Also, wann immer Sie eine oder haben, wenn die oder Bedingung
stimmt, stimmt alles.
So oder so funktioniert die Aussage.
Wählen Sie also * aus den Konten aus.
Wir sind Benutzer gleich
admin, okay, Benutzername ist gleich admin.
Und Passwort ist gleich AAA, das ist falsch.
Oder 1 = 1, okay, das akzeptiere ich.
Und dann wird es tatsächlich ausgeführt
und Sie können sich beim Administrator anmelden, ohne das Kennwort für
den Administrator zu kennen.
Also lasst uns versuchen, dies jetzt zu injizieren.
Und wie Sie sehen, konnte ich mich als admin anmelden und
monkey ist die Signatur für den admin.
Bypass- und Anmeldevorgänge können jetzt auf so viele Arten durchgeführt werden, abhängig vom
Code, der auf der Seite geschrieben ist.
Und je nachdem, wie Sie es tun möchten und
wie Sie sich den Code vorstellen.
In vielen Fällen wird diese Meldung nicht angezeigt, wenn Sie
das einfache Anführungszeichen hier einfügen.
Manchmal sieht man es,
was die Arbeit so viel einfacher macht.
Wenn Sie dies nicht tun, müssen Sie
erraten, wie es aussieht.
Also zeige ich Ihnen ein anderes Beispiel für das Umgehen.
Anstatt den Code so
einzufügen, ist der admin-Parameter auch tatsächlich
einfügbar, wie Sie gesehen haben,
ist der admin-Parameter genau so einfügbar, wie
das Passwort.
So können wir auch Code in den Benutzernamen einfügen.
Und was ich jetzt mache, schauen wir uns das an, und
ich werde es auf die Art und Weise zurücksetzen, wie es
normalerweise aussehen würde.
Also, wir hätten und der Benutzername und das Passwort, aus den Feldern,
die Sie, was auch immer Sie
hier eingeben, werden ersetzt und der Benutzername und das Passwort.
Also, lassen Sie uns versuchen, etwas in den Benutzernamen einzufügen,
und was ich sagen werde, ist, ich werde sagen,
Benutzername ist gleich admin, und dann werde
ich das Zitat selbst schließen, und dann
werde ich Einen Kommentar hinzufügen.
Also, meine Aussage, wenn ich die Aussage mache, wird sie
so aussehen, und ich werde sie
eigentlich nur hier kopieren.
Und wenn ich einen einspeise, wenn ich diesen Code in meinem Namen
hier einspeise.
Das wird da reinkommen, also wird
der Code so aussehen.
Wählen Sie Start von
Konten, wobei Benutzername gleich admin ist.
Ich habe das Zitat selbst hier geschlossen und benutze es genau dort.
Und dann füge ich einen Kommentar hinzu. Im Grunde
genommen wird das alles nicht einmal ausgeführt. Der
Code wird also der folgende sein. Er
wird aus Konten ausgewählt, deren
Benutzername gleich admin ist.
Und ich werde mich einloggen lassen, ohne auch
nur irgendetwas in das Passwort einzugeben. Also,
lass uns das machen.
Ich werde meinen Benutzernamen als Admin eingeben, das
Zitat schließen und einen Kommentar hinzufügen.
Und dann können Sie jedes gewünschte Passwort eingeben.
Ich werde nur # 1 setzen, dann werde
ich mich einloggen.
Und wie Sie sehen, habe ich es geschafft, mich als Administrator anzumelden.
Auch hier handelt es sich um Black-Box-Tests, sodass
Sie den Code nicht wirklich sehen.
In vielen Fällen möchten Sie damit herumspielen und
sehen, wie es bei Ihnen funktioniert.
Die Hauptsache ist jedoch, dass Sie testen möchten, ob die SQL-Injection
vorhanden ist. Verwenden Sie dazu die Methode, die wir Ihnen
im vorherigen Video gezeigt haben.
Versuchen Sie es mit einem einfachen Anführungszeichen, versuchen Sie
es mit der Anweisung und, versuchen Sie es mit true und
Anweisungen, also 1 = 1, und dann mit einer falschen
und Anweisung, also 1 = 0 oder 2 = 0, und wenn sie wie erwartet
funktionieren, sind Sie das Ziel hat eine SQL-Injection,
und Sie können anfangen, damit herumzuspielen.