PostgreSQL injection
Jeśli jesteś zainteresowany karierą w hacking i chcesz złamać to, co nie do złamania - zatrudniamy! (wymagana biegła znajomość polskiego w mowie i piśmie).
Ta strona ma na celu wyjaśnienie różnych trików, które mogą pomóc w wykorzystaniu SQLinjection znalezionego w bazie danych postgresql oraz uzupełnienie trików, które można znaleźć na https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md
Interakcja z siecią - eskalacja uprawnień, skanowanie portów, ujawnienie odpowiedzi NTLM challenge & eksfiltracja
Moduł PostgreSQL dblink
oferuje możliwości łączenia się z innymi instancjami PostgreSQL i wykonywania połączeń TCP. Te funkcje, w połączeniu z funkcjonalnością COPY FROM
, umożliwiają działania takie jak eskalacja uprawnień, skanowanie portów i przechwytywanie odpowiedzi NTLM challenge. Aby uzyskać szczegółowe metody wykonywania tych ataków, sprawdź jak wykonać te ataki.
Przykład eksfiltracji z użyciem dblink i dużych obiektów
Możesz przeczytać ten przykład, aby zobaczyć przykład CTF jak załadować dane do dużych obiektów, a następnie eksfiltracja zawartości dużych obiektów w nazwie użytkownika funkcji dblink_connect
.
Ataki PostgreSQL: Odczyt/zapis, RCE, privesc
Sprawdź, jak skompromitować hosta i eskalować uprawnienia z PostgreSQL w:
Ominięcie WAF
Funkcje łańcuchowe PostgreSQL
Manipulowanie łańcuchami może pomóc w ominięciu WAF-ów lub innych ograniczeń. Na tej stronie możesz znaleźć kilka przydatnych funkcji łańcuchowych.
Złożone zapytania
Pamiętaj, że postgresql obsługuje złożone zapytania, ale wiele aplikacji zgłosi błąd, jeśli zwrócone zostaną 2 odpowiedzi, gdy oczekiwano tylko 1. Jednak nadal możesz nadużywać złożonych zapytań za pomocą wstrzykiwania czasowego:
XML triki
query_to_xml
Ta funkcja zwróci wszystkie dane w formacie XML w zaledwie jednym pliku. Jest idealna, jeśli chcesz zrzucić dużo danych w zaledwie 1 wierszu:
database_to_xml
Ta funkcja zrzuci całą bazę danych w formacie XML w zaledwie 1 wierszu (bądź ostrożny, jeśli baza danych jest bardzo duża, ponieważ możesz spowodować DoS lub nawet swojego własnego klienta):
Strings in Hex
Jeśli możesz uruchomić zapytania przekazując je wewnątrz ciągu (na przykład używając funkcji query_to_xml
). Możesz użyć convert_from, aby przekazać ciąg jako hex i w ten sposób obejść filtry:
Zabronione cudzysłowy
Jeśli nie możesz użyć cudzysłowów dla swojego ładunku, możesz to obejść za pomocą CHR
dla podstawowych klauzul (konkatenacja znaków działa tylko dla podstawowych zapytań, takich jak SELECT, INSERT, DELETE itp. Nie działa dla wszystkich instrukcji SQL):
Lub z $
. Te zapytania zwracają te same wyniki:
Jeśli jesteś zainteresowany karierą w hackingu i chcesz złamać to, co nie do złamania - zatrudniamy! (wymagana biegła znajomość polskiego w mowie i piśmie).
Last updated