PL/pgSQL Password Bruteforce
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Find więcej informacji o tym ataku w oryginalnym dokumencie.
PL/pgSQL to w pełni funkcjonalny język programowania, który wykracza poza możliwości SQL, oferując ulepszoną kontrolę proceduralną. Obejmuje to wykorzystanie pętli i różnych struktur kontrolnych. Funkcje stworzone w języku PL/pgSQL mogą być wywoływane przez instrukcje SQL i wyzwalacze, co poszerza zakres operacji w środowisku bazy danych.
Możesz nadużyć tego języka, aby poprosić PostgreSQL o brutalne łamanie poświadczeń użytkowników, ale musi on istnieć w bazie danych. Możesz zweryfikować jego istnienie, używając:
Domyślnie tworzenie funkcji jest przywilejem przyznawanym PUBLIC, gdzie PUBLIC odnosi się do każdego użytkownika w tym systemie baz danych. Aby temu zapobiec, administrator mógłby cofnąć przywilej USAGE z domeny PUBLIC:
W takim przypadku nasze wcześniejsze zapytanie zwróciłoby różne wyniki:
Zauważ, że aby poniższy skrypt działał, funkcja dblink
musi istnieć. Jeśli nie istnieje, możesz spróbować ją stworzyć za pomocą
Oto jak możesz przeprowadzić atak brute force na hasło składające się z 4 znaków:
Note that even brute-forcing 4 characters may take several minutes.
Możesz również pobrać listę słów i spróbować tylko tych haseł (atak słownikowy):
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)