PostgreSQL injection
Wenn Sie an einer Hackerkarriere interessiert sind und das Unhackbare hacken möchten - wir stellen ein! (fließendes Polnisch in Wort und Schrift erforderlich).
Diese Seite soll verschiedene Tricks erklären, die Ihnen helfen könnten, eine SQL-Injection in einer PostgreSQL-Datenbank auszunutzen, und die die Tricks ergänzen, die Sie auf https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md finden können.
Netzwerkinteraktion - Privilege Escalation, Portscanner, Offenlegung der NTLM-Challenge-Antwort & Exfiltration
Das PostgreSQL-Modul dblink
bietet Möglichkeiten, um eine Verbindung zu anderen PostgreSQL-Instanzen herzustellen und TCP-Verbindungen auszuführen. Diese Funktionen, in Kombination mit der Funktionalität COPY FROM
, ermöglichen Aktionen wie Privilege Escalation, Portscanning und das Erfassen von NTLM-Challenge-Antworten. Für detaillierte Methoden zur Ausführung dieser Angriffe überprüfen Sie, wie Sie diese Angriffe ausführen können.
Exfiltrationsbeispiel unter Verwendung von dblink und großen Objekten
Sie können dieses Beispiel lesen, um ein CTF-Beispiel zu sehen, wie Daten in große Objekte geladen und dann der Inhalt der großen Objekte im Benutzernamen der Funktion dblink_connect
exfiltriert werden kann.
PostgreSQL-Angriffe: Lesen/Schreiben, RCE, Privilege Escalation
Überprüfen Sie, wie Sie den Host kompromittieren und Privilegien von PostgreSQL in:
page5432,5433 - Pentesting PostgresqlWAF-Bypass
PostgreSQL-Stringfunktionen
Das Manipulieren von Strings könnte Ihnen helfen, WAFs oder andere Einschränkungen zu umgehen. Auf dieser Seite finden Sie einige nützliche Stringfunktionen.
Gestapelte Abfragen
Denken Sie daran, dass PostgreSQL gestapelte Abfragen unterstützt, aber mehrere Anwendungen einen Fehler anzeigen werden, wenn 2 Antworten zurückgegeben werden, wenn nur 1 erwartet wird. Sie können dennoch die gestapelten Abfragen über Time Injection missbrauchen:
XML Tricks
query_to_xml
Diese Funktion gibt alle Daten in XML-Format in nur einer Datei zurück. Ideal, wenn Sie eine große Menge an Daten in nur einer Zeile dumpen möchten:
database_to_xml
Diese Funktion wird die gesamte Datenbank im XML-Format in nur 1 Zeile ausgeben (Vorsicht, wenn die Datenbank sehr groß ist, da Sie sie möglicherweise überlasten oder sogar Ihren eigenen Client):
Zeichenfolgen in Hexadezimal
Wenn Sie Abfragen ausführen können, indem Sie sie innerhalb einer Zeichenfolge übergeben (zum Beispiel unter Verwendung der Funktion query_to_xml
). Sie können convert_from
verwenden, um die Zeichenfolge als Hexadezimal zu übergeben und auf diese Weise Filter zu umgehen:
Verbotene Anführungszeichen
Wenn Sie Anführungszeichen nicht für Ihr Payload verwenden können, können Sie dies mit CHR
für grundlegende Klauseln umgehen (Zeichenverkettung funktioniert nur für grundlegende Abfragen wie SELECT, INSERT, DELETE usw. Es funktioniert nicht für alle SQL-Anweisungen):
Oder mit $
. Diese Abfragen liefern die gleichen Ergebnisse:
Wenn Sie an einer Hackerkarriere interessiert sind und das Unhackbare hacken möchten - wir stellen ein! (fließendes Polnisch in Wort und Schrift erforderlich).
Last updated