sqlmap liest und schreibt Dateien
–file-read: Liest Dateien aus dem Dateisystem des Back-End-Datenbankverwaltungssystems
–file-write: Bearbeiten lokaler Dateien im Dateisystem des Back-end-Datenbankverwaltungssystems (von lokal Schreiben)
–Dateiziel: Der absolute Pfad zu der Datei, die vom Back-End-Datenbankverwaltungssystem geschrieben wird (Zielpfad schreiben)
Sie können die oben genannten Befehle verwenden, um die Systemdatei nach der SQL-Injection zu lesen und zu schreiben, aber die Voraussetzung ist: Es müssen Lese- und Schreibberechtigungen sowie DBA-Berechtigungen vorhanden sein, andernfalls können die Lese- und Schreibvorgänge nicht erfolgreich ausgeführt werden.
Nehmen Sie DVWA als Beispiel und erstellen Sie DVWA unter Kali, um Dateien zu lesen und zu schreiben.
Datei lesen:
Überprüfen Sie die relevanten Informationen in PHPinfo und verwenden Sie den Befehl -file-read, um die Datei zu lesen.
sqlmap -u"http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-read "/etc/php/7.3 /apache2/php.ini"
Nachdem die Datei erfolgreich gelesen wurde, wird am Ende der angezeigten Informationen eine Eingabeaufforderung angezeigt. Sie müssen den von sqlmap ausgegebenen relevanten Pfad eingeben, um die relevanten Informationen zu lesen.
Schreiben Sie die Datei:
Verwenden Sie hier den DVWA-Befehl, um den Pfad auszuführen und zu überprüfen, und schreiben Sie dann die Datei nach /var/www/html/vulnerabilities/exec. Unter diesem Pfad verwenden Sie -file -write, – Der Befehl file-dest hat festgestellt, dass der Schreibvorgang erfolgreich war.
sqlmap -u"http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"--cookie "security=low; PHPSESSID=0o84koanki32dh7jjkckqelqme"-file-write "/usr/test/1 .txt“ -file-dest „var/www/html/vulnerabilities/execl/1.txt“
(1.txt-Inhalt erstellt unter Verwendungspfad)
(schreiben Sie 1 .txt-Inhalt wird nach erfolgreicher Eingabe angezeigt)
Sqlmap-Upload-Shell (--os-shell)
--os-shell hat drei Ausführungsbedingungen:
(1) Die Website muss über Root-Berechtigungen verfügen
(2) Der Angreifer muss den absoluten Pfad der Website kennen
(3) GPC ist ausgeschaltet und die aktive PHP-Escape-Funktion ist ausgeschaltet
Überprüfen Sie zunächst mit dem Befehl --is-dba, ob Sie ein sind Wenn nicht, können Sie den Befehl os-shell nicht verwenden. Wie in der folgenden Abbildung gezeigt, handelt es sich um einen Administrator, wenn es als „true“ angezeigt wird. Wenn es sich nicht um einen Administrator handelt, wird es als „false“ angezeigt.
Als nächstes verwenden Sie den Befehl –os-shell. Nachdem es einen Injektionspunkt gibt, werden Sie aufgefordert, eine Sprache auszuwählen, die vom System verwendet wird 4.
Website wird hier ausgewählt. Nachdem die Sprachauswahl abgeschlossen ist, wird der Pfad ausgewählt. Wenn Sie den absoluten Pfad der Website kennen, können Sie 2 oder 1 gemeinsamen Pfad auswählen.
Nachdem die Pfadauswahl abgeschlossen ist, wird beim Schreiben eine 404-Eingabeaufforderung angezeigt, wie in der folgenden Abbildung dargestellt.看 Gehen Sie zurück und prüfen Sie, ob ein Problem mit anderen Einstellungen vorliegt. Ich habe zuvor -is-dba verwendet und die Anzeige war wahr. Dann habe ich den Befehl current-user verwendet, um den Benutzer anzuzeigen, und festgestellt, dass der Benutzer dvwauser ist. Während der Ersteinrichtung meldete das System außerdem, dass MariaDB standardmäßig keine Root-Berechtigungen verwenden kann, um eine Verbindung zur Datenbank herzustellen. Es verwendete jedoch auch die grant all-Anweisung, um dvwauser alle Berechtigungen zu erteilen, und der Schreibpfad wurde auch mit Lese- und Schreibberechtigungen festgelegt , aber das Schreiben war nie erfolgreich. Oder versuchen Sie es mit xampp. (Ich habe bezweifelt, ob es ein Problem mit dem Root-Benutzer oder ein Problem mit der Datenbankversion ist. Immerhin schreibt xampp erfolgreich)
Überprüfen Sie, ob der Benutzer dvwauser ist:
Dvwauser-Benutzerrechte gewähren:
In Verzweiflung Versuchen Sie, Xampp zum Erstellen von DVWA zu verwenden. Diesmal wurde festgestellt, dass das Schreiben erfolgreich war.
Bevor Sie xampp zum Schreiben verwenden, verwenden Sie den aktuellen Benutzer, um den Benutzer anzuzeigen, wie in der folgenden Abbildung gezeigt. Er wird als Root und -is-dba als wahr angezeigt.
Nachdem das Schreiben erfolgreich war, greifen Sie auf den Pfad zur geschriebenen Datei zu. Hier gibt es einen Upload-Punkt zum Hochladen und die Verbindung war mit Ant Sword erfolgreich.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie sqlmapGetshell. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!