Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 3629|Antwort: 1

Verwenden Sie das SQLMAP-Infiltrationstool SQL-Injektionstests

[Link kopieren]
Veröffentlicht am 17.06.2023 11:10:55 | | | |
Anforderungen: Verwenden Sie das Open-Source-Penetrationstesttool sqlmap, um Website-Oberflächen auf Injektionsrisiken zu testen. SQL-Injection bedeutet, dass die Webanwendung die Legitimität der Benutzereingabedaten nicht bewertet oder die Filterung nicht streng ist, und der Angreifer kann zusätzliche SQL-Anweisungen am Ende der im Webanwendung definierten Abfrageanweisung hinzufügen und illegale Operationen ohne Wissen des Administrators implementieren, um den Datenbankserver zu täuschen, unautorisierte beliebige Abfragen auszuführen, um die entsprechenden Dateninformationen weiter zu erhalten. Kurz gesagt, es ist dasDie Backend-Schnittstelle führt SQL-Anweisungen aus, indem sie die angeforderten Parameter zusammenfügt

Rezension:

EF 6 führt native SQL-Anweisungen aus, Parameterinjektionsprobleme
https://www.itsvse.com/thread-10610-1-1.html

EF Core Series (5) führt SQL-Anweisungen oder -views sowie gespeicherte Prozeduren aus
https://www.itsvse.com/thread-9565-1-1.html

C# Parameterized Parameters verwendet sp_executesql zur Ausführung von SQL-Anweisungen
https://www.itsvse.com/thread-3111-1-1.html

SQL Injection Book – ASP Injection Schwachstelle Vollkontakt
https://www.itsvse.com/thread-2305-1-1.html

sqlmap ist ein Open-Source-Penetrationstest-Tool, das den Prozess der Erkennung und Ausnutzung von SQL-Injektionsschwachstellen sowie die Übernahme von Datenbankservern automatisiert. Er verfügt über eine leistungsstarke Erkennungs-Engine, viele Nischenfunktionen des ultimativen Penetrationstesters und eine breite Palette von Switches, darunter Datenbank-Fingerprinting, das Abrufen von Daten aus Datenbanken, der Zugriff auf das zugrundeliegende Dateisystem und das Ausführen von Befehlen auf dem Betriebssystem über Out-of-Band-Verbindungen.

SQLMAP funktioniert sofort und funktioniert auf jeder PlattformPython-Versionen 2.6, 2.7 und 3.x

sqlmap-Umgebungskonstruktion

Python herunterladen:Der Hyperlink-Login ist sichtbar.



SQLMAP-Open-Source-Adresse:Der Hyperlink-Login ist sichtbar.
SQLMAP-Befehlsdokumentation:Der Hyperlink-Login ist sichtbar.

Zuerst muss der Computer Python installieren (weggelassen) und dann den Git-Befehl verwenden, um den Quellcode wie folgt herunterzuladen:



Optionen:

-h, --hilfe Einfache Hilfenachricht zeigen und verlassen -----Einfache Hilfenachricht zeigen und beenden
-hh, Sendung erweiterte Hilfe, Nachricht und Verlassen-----
--Version, um die Versionsnummer zu sehen----------- Show-Programmnummer und Ausstieg
-v VERBOSE Detailgrad (0-6, Standard 1) --Wortlautstärke: 0-6 (Standard 1)

Ziel:

Mindestens eine der folgenden Optionen muss gesetzt werden, um die Ziel-URL zu bestimmen, nämlich: Mindestens eine der folgenden Optionen muss im SQLMap-Operationsbefehl enthalten sein, um sie normal verwenden zu können

-d DIRECT-Verbindungsstring für direkte Datenbankverbindung-------------------
-u URL, --url=URL Ziel-URL --------------------- Ziel-URL (z. B. "http://www.site.com/vuln.php?id=1")
-l LOGFILE Parse Ziel(e) aus der Burp- oder WebScarab-Proxy-Logdatei ---- das Ziel aus der Logdatei eines Burp- oder anderen Proxys
-x SITEMAPURL parst das Ziel aus der entfernten Sitemap(.xml)-Datei --Parse Target(s) aus der Remote Sitemap(.xml)-Datei
Scannen Sie mehrere Ziele, die in einer Textdatei -------- BULKFILE angegeben sind,
-r REQUESTFILE HTTP-Anfrage aus einer Datei laden ---------------HTTP-Anfrage aus einer Datei laden HTTP-Anfrage aus einer Datei laden
-g GOOGLEDORK Behandle Google Dork-Ergebnisse als Ziel-URLs---
-c CONFIGFILE Ladeoptionen aus einer Konfigurations-INI-Datei -------------- Ladeoptionen aus einer Konfigurations-INI-Datei laden

Bitten:

Die folgenden Optionen geben an, wie man mit der Ziel-URL verbunden ist.

--method=METHOD Erzwingen Sie die Verwendung einer gegebenen HTTP-Methode (z. B. PUT------------------
--data=DATA Datenstring wird über POST mit der POST-Methode gesendet------------------
--param-del=PARA..  Setzen Sie das Symbol zum Trennen von Parameterwerten-------------------- Zeichen, der zum Aufteilen von Parameterwerten verwendet wird
--cookie=COOKIE spezifiziert den HTTP-Cookie-Wert ---------------------- HTTP-Cookie-Headerwert
--cookie-del=COO..  Charakter, der zum Aufteilen von Cookie-Werten verwendet wird------------------

Beim Testen eines Injektionspunkts mit SQLMAP kann man den Parameter -v x verwenden, um die Komplexität der Echo-Informationen anzugeben, die von [0~6] bis 7 Stufen reicht, mit einem Standardwert von 1.

0: Nur Python-Fehler werden zusammen mit kritischen Informationen angezeigt.
1: Zeigen Sie sowohl grundlegende Informationen als auch Warnhinweise an. (Standard)
2: Zeigt gleichzeitig die Debug-Informationen an.
3: Die eingespritzte Nutzlast wird gleichzeitig angezeigt.
4: HTTP-Anfragen gleichzeitig anzeigen.
5: Gleichzeitig den HTTP-Antwort-Header anzeigen.
6: Zeigt gleichzeitig die HTTP-Antwortseite an.

ASP.NET Einrichtung der Kerninjektionsumgebung

Erstellen Sie ein neues Webprojekt mit ASP.NET Core, schreiben Sie eine Schnittstelle mit Injektion, und der Quellcode ist wie folgt:


Testschnittstelle:



Häufig verwendete Penetrationstests

DBMS-Datenbanken aufzählen

Und verwenden Sie das SQL Server Profile, um die Ausführung der SQL zu erfassen, wie in der folgenden Abbildung gezeigt:



wählen * aus [Benutzern], wobei [Benutzername] = 'itsvse' UNION ALLE AUSWÄHLEN NULL,NULL,CHAR(113)+CHAR(98)+CHAR(122)+CHAR(118)+CHAR(113)+(NAME AUSWÄHLEN VOM Master.. sysdatabases FÜR JSON AUTO, INCLUDE_NULL_VALUES)+CHAR(113)+CHAR(113)+CHAR(118)+CHAR(120)+CHAR(113)-- yHIm'



Listen Sie die Tabellen der angegebenen Datenbank auf

Der Befehl lautet wie folgt:



Für komplexe HTTP-Anfragen können Sieüber den Parameter -r(HTTP-Anfragen aus Dateien laden,Verwenden Sie das Tool Burp Suite, um HTTP-Anfragen von Paketen zu erfassen), um die ursprüngliche HTTP-Anfrage aus einer Textdatei zu laden. Dadurch können Sie viele andere Optionen (z. B. Cookie-Einstellungen, veröffentlichte Daten usw.) überspringen.

SQLMAP ist leistungsstark, siehe die Dokumentation für fortgeschrittenere Funktionen. (Ende)




Vorhergehend:EF 6 führt native SQL-Anweisungen aus, Parameterinjektionsprobleme
Nächster:[Übertragen] zu MySQL Advanced: Befehl 'Tabelle optimieren'
 Vermieter| Veröffentlicht am 17.06.2023 11:21:41 |
Ändere es auf Folgendes: Es besteht kein Risiko einer SQL-Injektion:

Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com