MySQL injection
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
RootedCON ist die relevanteste Cybersecurity-Veranstaltung in Spanien und eine der wichtigsten in Europa. Mit der Mission, technisches Wissen zu fördern, ist dieser Kongress ein brodelnder Treffpunkt für Technologie- und Cybersecurity-Profis in jeder Disziplin.
from https://labs.detectify.com/2013/05/29/the-ultimate-sql-injection-payload/
Denken Sie daran, dass Sie in "modernen" Versionen von MySQL "information_schema.tables" durch "mysql.innodb_table_stats" ersetzen können (Dies könnte nützlich sein, um WAFs zu umgehen).
group_concat()
Limit X,1
substr(version(),X,1)='r'
oder substring(version(),X,1)=0x70
oder ascii(substr(version(),X,1))=112
mid(version(),X,1)='5'
LPAD(version(),1...länge(version()),'1')='asd'...
RPAD(version(),1...länge(version()),'1')='asd'...
SELECT RIGHT(version(),1...länge(version()))='asd'...
SELECT LEFT(version(),1...länge(version()))='asd'...
SELECT INSTR('foobarbar', 'fo...')=1
Verwendung einer einfachen ORDER
Lernen Sie hier verschiedene Optionen, um eine Mysql-Injection auszunutzen, um eine SSRF zu erhalten.
Wenn gestapelte Abfragen erlaubt sind, könnte es möglich sein, WAFs zu umgehen, indem man einer Variablen die hexadezimale Darstellung der Abfrage zuweist, die man ausführen möchte (indem man SET verwendet), und dann die MySQL-Anweisungen PREPARE und EXECUTE verwendet, um letztendlich die Abfrage auszuführen. Etwas wie dies:
Für weitere Informationen siehe diesen Blogbeitrag.
Denke daran, dass du in "modernen" Versionen von MySQL information_schema.tables durch mysql.innodb_table_stats oder sys.x$schema_flattened_keys oder durch sys.schema_table_statistics ersetzen kannst.
Wähle 2 Spalten ohne Verwendung eines Kommas (https://security.stackexchange.com/questions/118332/how-make-sql-select-query-without-comma):
Wenn Sie zu einem bestimmten Zeitpunkt den Namen der Tabelle kennen, aber die Namen der Spalten in der Tabelle nicht kennen, können Sie versuchen herauszufinden, wie viele Spalten es gibt, indem Sie etwas wie Folgendes ausführen:
Angenommen, es gibt 2 Spalten (wobei die erste die ID ist) und die andere die Flag, können Sie versuchen, den Inhalt der Flag durch Brute-Force zu entschlüsseln, indem Sie Zeichen für Zeichen ausprobieren:
Mehr Informationen unter https://medium.com/@terjanq/blind-sql-injection-without-an-in-1e14ba1d4952
Sie können andere Ausführungen innerhalb von MySQL sehen, indem Sie die Tabelle: sys.x$statement_analysis lesen.
RootedCON ist die relevanteste Cybersecurity-Veranstaltung in Spanien und eine der wichtigsten in Europa. Mit der Mission, technisches Wissen zu fördern, ist dieser Kongress ein brodelnder Treffpunkt für Technologie- und Cybersecurity-Profis in jeder Disziplin.
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)