SQLMAP SQL Injection-Tool und Hacking von ethischen Datenbanken

Jeder Netzwerkadministrator und Webmaster hat die Priorität, die auf einem Netzwerk oder Server gehosteten Daten zu schützen. Es gibt verschiedene Arten von Penetrationstest-Tools, die das Erkennen und Ausnutzen von SQL-Injection-Fehlern automatisieren. Eines davon ist SQLMAP.

Dieses Tool wird zum Testen von Datenbankservern verwendet. Mit SQLMAP können Sie viele Datenbankmodule und viele spezifische Funktionen testen, um die Sicherheit einer Datenbank zu testen . Hier müssen wir klarstellen, dass wir dies tun, um Schwachstellen zu finden und Probleme zu lösen, um Websites nicht zu beschädigen oder auf dänische Weise zu hacken. Dies wird als ethisches Hacken bezeichnet.

sqlmap.jpg

Unterstützt eine Vielzahl von Datenbank-Engines wie MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Firebird, Sybase, SAP MaxDB.

SQLMAP wurde in Python entwickelt und kann im Internet heruntergeladen werden. Http://sqlmap.org/ funktioniert unter Linux, aber mit Python kann es in Windows verwendet werden.

Sqlmap ist in Linux-Distributionen enthalten, die auf Sicherheit und ethisches Hacken spezialisiert sind, wie z. B. Linux Kali, Backtrack oder Backbox. In anderen Distributionen können Sie einfach herunterladen und installieren.

Für dieses Tutorial verwenden wir Linux Mint in jeder Distribution, die es unterstützt. Wir öffnen das Terminal und schreiben folgende Befehle:

 wget 'https://github.com/sqlmapproject/sqlmap/tarball/master' -output-document = sqlmapproject-sqlmap-0.9-3671-gdcaad75.tar.gz 

Entpacken Sie die Datei beim Herunterladen mit dem folgenden Befehl:

 tar -xvf sqlmapproject-sqlmap-0.9-3671-gdcaad75.tar.gz 

Wir können den Namen des Verzeichnisses ändern, um den Zugriff mit den folgenden Befehlen zu erleichtern:

 MV-Verzeichnis-alt-Verzeichnis-neu 
 mv sqlmapproject-sqlmap-gdcaad75 sqlmap 
 cd sqlmap 

Wir versuchen, es zum Laufen zu bringen, indem wir die Version von sqlmap mit dem folgenden Befehl aufrufen:

 python sqlmap.py -version 

sqlmap2.jpg

Webseiten testen und nach Schwachstellen suchen

Eine einfache Möglichkeit, das zu analysierende Web zu finden, besteht darin, in der Google-Suche section.php? Id = Tausende von Websites anzuzeigen, die möglicherweise anfällig sind.

See also  Bearbeiten Sie Group 10 Professional- oder Enterprise-GPO-Richtlinien

Beispiel für eine Analyse auf einer möglicherweise unsicheren Website:

sqlmap3.jpg

In diesem Fall nach der Analyse des Webs und dem Versuch, darauf zuzugreifen. Wir sehen, dass alle analysierten Parameter nicht injizierbar zu sein scheinen, was bedeutet, dass das Web in diesem Fall gegen Injektionen sicher ist.

In einem anderen Fall ändern wir aus Sicherheitsgründen den tatsächlichen Namen des Domänennamens, aber die Parameter sind real.

 python sqlmap.py -u http://www.demoweb.com/index.php?seccion=ver_detalle&id=103 

sqlmap4.jpg

In diesem Fall hat SQLMAP eine Möglichkeit der SQL-Injection gefunden, daher warnt es uns, dass die
Der Parameter ‘section’ scheint Teil einer MySQL 5.0.11-Abfrage zu sein und kann injiziert werden. Dann werden wir gefragt, ob wir einen Angriff auf diese Datenbank versuchen möchten oder ob wir ihn überspringen und andere Datenbank-Engines ausprobieren möchten. Wir klicken und die Software startet verschiedene Angriffe und Tests durchzuführen. Wir werden alle möglichen Ergebnisse an SQL Injection Tacks zurücksenden.

Entdecken Sie verwundbare Datenbanken und Tabellen

Durch den vorherigen Test können wir feststellen und bestätigen, dass eine Datenbank oder ein Web anfällig für SQL-Injection ist. Daher besteht der nächste Schritt darin, die Namen der Datenbanken zu ermitteln, die auf dem Server oder in der Domäne vorhanden sind. Die Option “–dbs” wird verwendet, um die Liste der Datenbanken abzurufen.

 python sqlmap.py -u "http://www.demoweb.com/index.php?seccion=ver_detalle&id=103" -dbs 

sqlmap5.jpg

Wir sehen, dass ich eine Schwachstelle erkenne, dann wird gefragt, ob ich den SQL Injection-Angriff starten möchte. Am Ende sehen wir die SQL-Abfragen, die in diesem Fall gefundenen Datenbanken sind zwei baxxxx_db, die Website, die wir testen, und das andere Informationsschema, das die Struktur von Mysql enthält.

sqlmap6.jpg

An dieser Stelle müssen wir klarstellen, dass wir dies tun, um Schwachstellen zu finden und Probleme zu lösen, um Websites nicht zu beschädigen oder auf schädliche Weise zu hacken. Dies wird als ethisches Hacken bezeichnet.

See also  Entwickle ein benutzerdefiniertes Widget für WordPress

Durchsuchen Sie Tabellen in einer bestimmten Datenbank

Nachdem Sie eine Datenbank gefunden haben, ist es jetzt an der Zeit, herauszufinden, welche Tabellen in einer bestimmten Datenbank vorhanden sind. Beispiel: Wir haben eine Systemdatenbank und eine andere, in der die Daten des Webs gespeichert sind dass die hier interessierende Datenbank die des Webs baxxxx_db ist.

Die Syntax des auszuführenden Befehls lautet wie folgt:

 python sqlmap.py -u "urlserver" --tables -D Datenbank 

Daher verwenden wir die Daten aus den vorherigen Schritten

 python sqlmap.py -u "http://www.demoweb.com/index.php?seccion=ver_detalle&id=103" -tables -D baxxxx_db 

sqlmap7.jpg

Wir können sehen, wie das Ergebnis von SQLMAP eine Liste von Tabellen ist, in denen wir sicher die Tabelle der Benutzer und eine Tabelle der Administratoren des Webs sehen können.

Dies zeigt, wie unsicher der Server ist, den wir analysieren, und welche Probleme der ahnungslose Administrator oder Webmaster haben könnte.

Als nächstes werden wir, wie wir bereits herausgefunden haben, welche Datenbanken und Tabellen existieren, untersuchen können, welche Spalten und Strukturen die Tabellen in der Datenbank enthalten.

Dafür verwenden wir die folgende Befehlssyntax:

 python sqlmap.py -u "urlserver" --spalten -D datenbank -T tabelle 

Daher verwenden wir die in den vorherigen Schritten gefundenen Daten. Mit den folgenden Befehlen wird die Tabelle der Administratoren angezeigt.

 python sqlmap.py -u "http://www.demoweb.com/index.php?seccion=ver_detalle&id=103" --columns -D baxxxx_db -T administrator 

sqlmap8.jpg

Infolgedessen können wir die Struktur der Administrator-Tabelle der MYSQL-Datenbank aufgrund der Sicherheitsprobleme des Servers beobachten.

Als Nächstes haben wir versucht, dieselbe Analyse mit der Benutzertabelle durchzuführen:

 python sqlmap.py -u "http://www.demoweb.com/index.php?seccion=ver_detalle&id=103" --columns -D baxxxx_db -T-Benutzer 

sqlmap9.jpg

Nach der Analyse zeigt SQLMAP die 9 Spalten, aus denen sich die Struktur der Tabelle zusammensetzt.

Zeigen Sie die Daten einer Tabelle an, insbesondere die Daten einer Tabelle.

See also  Verwendung des Befehls Wget unter Linux, Windows oder Mac

Dann werden wir den interessantesten Teil zeigen, bei dem es sich um das angestrebte Ziel handelt, Daten aus der Tabelle zu extrahieren. Wir werden sehen, wie jemand auf die Daten zugreifen kann, um sie zu manipulieren. Ein guter Netzwerkadministrator möchte, dass dies nicht geschieht. Der Befehl zum Anzeigen der Daten lautet:

 python sqlmap.py -u "urlserver" --dump -D basedata -T table 

Der vorherige Befehl -dump bewirkt lediglich das Sichern der Daten der Tabelle, ähnlich der Funktion, die den Befehl mysqldump ausführt. Auch das Drucken von Daten auf dem Bildschirm sieht ähnlich aus.

Als Nächstes versuchen wir, dieselbe Analyse mit der Benutzertabelle durchzuführen

 python sqlmap.py -u "http://www.demoweb.com/index.php?seccion=ver_detalle&id=103" "--dump -D baxxxx_db -T-Benutzer 

sqlmap10.jpg

Fazit
So können wir alle in der Tabelle enthaltenen Daten analysieren, in diesem Fall die Benutzertabelle. Wenn wir dasselbe mit den Administratoren tun, können wir möglicherweise die Kontrolle über das Backend oder den Webadministrationsbereich erlangen.

Bisher konnten wir mithilfe von sqlmap eine große Menge an Informationen aus einer entfernten Datenbank von einem unsicheren Server in Ihrer Datenbank sammeln. Die Datenbank-Engine ist Mysql und über sqlmap ist es fast so, als hätte man über ein Tool wie phpmyadmin direkten Zugriff auf die Datenbank.

In diesem Tutorial sind die Analysen real, wurden jedoch mit dem Ziel erstellt, Schwachstellen zu überprüfen. Bei Angriffen von Hackern könnten sie versuchen, eine Administratorebene für den Zugriff auf das System zu erhalten. Dazu würden sie versuchen, auf Kennwörter zuzugreifen und sich über das Administrationsfenster anzumelden, oder sie würden versuchen, Informationen über ein Unternehmen und seine wichtigsten Daten zu erhalten.

In einem weiteren Tutorial wird erklärt, wie Sie mit SQLMAP prüfen, ob die Web-Formulare beim Senden von Daten sicher sind oder nicht.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *