Ключ для расшифровки pg_auth Postgresql - PullRequest
1 голос
/ 06 июля 2011

Я хочу знать пароль пользователя для подключения к базе данных без ввода пользователем его базы данных паролей.Я знаю, что пароль для подключения базы данных postgresql сохраняется в pg_auth.Но я не знаю, как расшифровать его без ключа.

1 Ответ

1 голос
/ 06 июля 2011

Согласно документации, 45,8. pg_authid

Пароль (возможно, зашифрованный); ноль, если никто. Если пароль зашифрован, этот столбец будет содержать строку md5, за которым следует 32 символа шестнадцатеричный хеш MD5. MD5 хеш будет из пароля пользователя соединены с их именем пользователя (для пример, если у пользователя joe есть пароль xyzzy, PostgreSQL будет хранить md5 хэш xyzzyjoe).

Другими словами, наиболее вероятно, что этот пароль зашифрован md5 (это стандартное поведение PostgreSQL), и вы не можете получить простой текст, потому что он нигде не хранится. Например, предположим, что у меня есть postgres роль с 12345 паролем:

SELECT rolpassword FROM pg_authid WHERE rolname LIKE 'postgres';
             rolpassword             
-------------------------------------
 md5738d021d4bc194576641fa9936656836
(1 row)

MD5 - однонаправленная хэш-функция, поэтому восстановить ее аргумент нетривиально (однако вы можете попробовать с помощью John the Ripper или с помощью радужных таблиц):

echo -n "12345postgres" | md5sum
738d021d4bc194576641fa9936656836  -

Другой (более простой) способ - изменить pg_hba.conf метод аутентификации на не пароль (например, ident).

EDIT:

С помощью инструмента HashCat (прочитайте лицензионное соглашение перед его использованием) с режимом PostgreSQL md5($pass.$salt), который вы можете написать (конечно, это только упрощенный пример использования центрального процессора):

echo 738d021d4bc194576641fa9936656836:postgres > hash.txt
time ./hashcat-cli64.bin --hash-mode 1 --attack-mode 3 --bf-cs-buf 0123456789 \
--bf-pw-min 1 --bf-pw-max 5 hash.txt
...
738d021d4bc194576641fa9936656836:postgres:12345
All hashes have been recovered

real    0m0.010s
user    0m0.012s
sys     0m0.004s
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...