In diesem Vortrag möchte ich einen Fall behandeln, dem ich in fast 50 Prozent der Websites gegenüber
stehe, auf denen ich Penetrationstests durchführe.
Lassen Sie mich zuerst die bereits beschriebenen ausführen und ausnutzen, sodass wir diese Anweisung
ausführen, die den Tabellennamen aus den Informationsschematabellen auswählt.
Dies sollte also alle Tabellen aufführen, die auf unserer Seite vorhanden sind.
Ich habe im Moment meine Sicherheit zu niedrig eingestellt, also werde ich das hier nur einfügen.
Entfernen Sie dieses Extra und drücken
Sie die Eingabetaste, da Sie sehen, dass es ausgenutzt wird, und es zeigt uns hier den Tabellennamen anstelle von Nummer Eins.
Wir sehen also alle Tabellennamen, die in dieser aktuellen Datenbank vorhanden sind.
Nun möchte ich auf den Fall eingehen, wenn Sie die Anweisung tatsächlich ausführen, sodass die Website anfällig ist.
Wenn Sie die Anweisung ausführen, wird nur jeweils ein Ergebnis angezeigt. Dies liegt daran, dass die Seite so
programmiert ist, dass jeweils nur ein Ergebnis angezeigt wird.
Um dies zu tun, müssen wir eigentlich den Code für die niedrige Sicherheitsstufe für DPW ändern. Ich mache das
jetzt und dann kommen wir zurück, um es auszunutzen.
Also werde ich eigentlich nur den Code für DVD-Video ändern.
Dies ist nicht Teil der Ausbeutung.
Dies ist nur, um diesen Exploit etwas schwieriger zu machen.
Ich habe also Metas Floaté vermisst und werde die niedrige Sicherheitsstufe der SQL Injection-Datei öffnen.
Also werde ich Sudo verwenden, weil die Datei über Root-Berechtigungen verfügt und ich Nonno
als Texteditor verwenden möchte.
Dies ist also das Programm, das ich zum Ändern der Datei verwenden werde. Die Datei wird
in var gespeichert. Eine Sicherheitsanfälligkeit ist eine Quelle für die Skill-Injection.
Ich werde also noch einmal dieses Kommando durchgehen und sehen, was wir tun, wir
sagen Sudo, um die Datei mit root-Rechten auszuführen.
Nun, mit welchem Programm öffnen wir die Datei?
Und dann wird die Datei in Varda-lesbaren WDW I Woolner-Fähigkeiten als Kulai-Quelle von Lowder's ph gespeichert.
Ich drücke die Eingabetaste und frage nach dem Admin-Passwort. Das Root-Passwort lautet nun als Admin.
Genau wie der Benutzername.
Wir haben hier die Quelle für die Datei.
Also werde ich es hier modifizieren, ich werde es tatsächlich für Sie modifizieren.
Was also diese Schleife macht, durchläuft sie tatsächlich alle Zeichen, die
diese Anweisung hier liefert.
Und dann werden sie auf dem Bildschirm angezeigt.
Wir wollen es also so ändern, dass nur die Wörter des ersten Ergebnisses angezeigt werden.
Ich werde also in dieser Zeile zwei weitere Schrägstriche kommentieren.
Im Grunde wird diese Zeile ignoriert und ich werde diese Zeile auch kommentieren, weil sie die while-Schleife schließt.
Daher wird diese Zeile ebenfalls ignoriert.
Jetzt müssen Sie wirklich sorgen, was dies bedeutet, wenn Sie kein Programmierer sind.
Es ist nicht sehr wichtig, nur in diese Zeilen zu kommen, und wir werden sehen, was beim Kunden
vor Ort passiert, denn was uns an dieser Vorlesung interessiert, ist nicht die Programmierung, an der wir
die Penetrationstests interessiert.
Also werde ich einfach die Kontrolle X drücken, um dies zu speichern.
Ich drücke Y und gehe hinein und das wird die Datei beenden und speichern.
Wir sind also wieder hier und ich werde genau dieselbe Aussage ausführen, also werde ich sie nicht ändern.
Ich sage also immer noch, dass Vereinigungen den Tabellennamen aus anderen Informationsschemas auswählen.
Ich werde tatsächlich die Seite aktualisieren.
Und wie Sie jetzt sehen können, funktioniert das nicht wirklich oder funktioniert es, aber
es zeigt uns nur die erste ausgewählte Platte, die als Amerikaner ausgewählt wurde. Das ist nicht einmal nützlich.
Das Erste, was ich tun werde, ist, dass wir den Rekord bringen, weil der
Administrator die ID von Nummer eins hat.
Also, was wir jetzt tun werden, ist, dass wir ihr nur
eine ungültige ID geben, also werde ich ihr ein A minus geben.
Wie Sie nun sehen, funktioniert die Anweisung. Wir erhalten eine Tabelle, die in den Informationsschematabellen vorhanden ist,
aber wir sind alle in einer Tabelle gleichzeitig.
Wir erhalten nicht die vollständige Liste der Tabellen.
Dies liegt daran, dass die Seite so programmiert ist, dass nur ein Ergebnis angezeigt wird.
Und das ist mir oft passiert, wenn ich Penetrationstests mache.
Denken Sie daran, dass wir alle Anweisungen ausführen können, die wir auf dem Band auf dem Server haben möchten, sodass
wir unsere Skill-Anweisung ändern können, um alle Datensätze zu durchlaufen und den Inhalt anzuzeigen.
Wir werden also wissen, dass wir die Wortanweisung verwenden können, um nur Datenbanktabellen in Ihrer aktuellen
Datenbank anzuzeigen, aber zu diesem Zeitpunkt möchte ich Ihnen zeigen, wie Sie
alles durchlaufen können die Tische.
Stattdessen verwenden wir das Schlüsselwort limit, um anzugeben, welcher Datensatz angezeigt werden soll.
Mit dieser Anweisung können wir die Datensätze nacheinander durchlaufen und
alle anzeigen.
Die Anweisung wird also aus Tabellenschemata oder -tabellen mit dem Namen "select table" vereinigt, und
ich möchte sagen, dass das Limit-Schlüsselwort zwei Werte annehmen soll.
Der erste Wert ist der Ort des Datensatzes, von dem aus die Datensätze angezeigt werden sollen.
Wo möchten wir also mit der Anzeige von Datensätzen beginnen, also möchte ich die Datensätze ab dem ersten Datensatz anzeigen.
Ich werde also Null setzen, da die Datensatznummern bei 0 beginnen und der zweite Wert, den das Limit-Schlüsselwort
annimmt, die Anzahl der Datensätze ist, die auf dem Bildschirm angezeigt werden sollen, beginnend mit dem
hier angegebenen Wert.
Jetzt wissen wir, dass mir diese Seite nur jeweils eine Platte anzeigen kann.
Der zweite Wert für das Limit-Schlüsselwort kann also nur ein Wert sein.
In diesem Fall.
Im Grunde wollen wir also den Tabellennamen aus den Informationsschematabellen auswählen.
Ich wollte nur einen Datensatz anzeigen, beginnend mit Datensatz 0.
Wenn ich also das hier kopiere und hier einfügte, werden
Sie die erste Tabelle jetzt bekommen, und wenn ich zur zweiten Tabelle gehen möchte, muss ich dies nur
ändern, um den ersten Wert zu sagen Hier bedeutet ich, dass ich mit Rekord 0 beginnen
möchte.
Wenn ich also mit Rekord 1 beginnen möchte, werde ich einfach eins einfügen, dann kann
ich das hier kopieren und wieder einfügen.
Wie Sie sehen, haben wir den nächsten Tisch bekommen.
Nun, wenn ich die Tabelle danach bekommen möchte, muss ich sie nur noch ändern und auf 2 setzen.
Das heißt, ich möchte dieses Spiel von Aufnahme zu Aufnahme beginnen und nur
eine Aufnahme anzeigen.
Wenn ich die Eingabetaste drücke, wie Sie sehen, bekomme ich den nächsten Tisch.
Ich kann so weitermachen, dass alle Datensätze manuell durchlaufen werden.
Jetzt können wir die Aussage auch durch Verwendung der Workloads verbessern.
Vor dem Limit können wir also sagen, dass ich einen Tabellennamen aus Informationsschematabellen
auswählen möchte, bei denen das Tabellenschema gleich DV w a ist.
Wenn wir dies hier einfügen, wie Sie sehen, hat dies mir die Benutzer gezeigt, und ich kann die Tabellen erneut durchlaufen,
indem Sie die Anzahl hier ändern, so dass dies im Datensatz bei Offset 1 angezeigt wird.
Ich kann dies auf 0 setzen, um den ersten Datensatz anzuzeigen.
Und wie Sie sehen, ist die erste Tabelle oder der erste Datensatz das Gästebuch und das war's.
Also einfach ein kurzer Brief, um Ihnen zu zeigen, wie Sie dieses Problem umgehen können.
Wenn Sie sich auf Seiten befinden, werden für Sie jeweils nur ein Wert oder ein Datensatz angezeigt.