MySQL принимает любой пароль - PullRequest
3 голосов
/ 02 июня 2010

Предположим, у меня есть тестовый сервер с большой группой тестовых учетных записей. Тестовые учетные записи имеют неизвестные пароли, которые жестко запрограммированы в отчетах приложения и хранятся в зашифрованном виде в таблице mysql.users.

Есть ли какая-либо опция или хак, которые могут быть использованы, чтобы заставить mysql принять любой текст в качестве "правильного" пароля для учетной записи? Например:

Update mysql.user Set Password="*" where 1=1

Примечание. Вышеуказанная строка не будет работать, потому что она буквально установит пароль на «*», а не подстановочный знак. Тем не менее, я ищу способ создать учетную запись mysql, которая будет принимать что-либо в качестве действительного пароля. Эта машина отключена от сети, и у меня есть полный доступ к базе данных mysql ...

Ответы [ 2 ]

1 голос
/ 02 июня 2010

Не совсем.

Что вы можете сделать:

  • изменить пароль на новый (SET PASSWORD FOR Piskvor='hunter2'; FLUSH PRIVILEGES;)
  • перезапустите сервер MySQL с параметром --skip-grant-tables. Это позволит любой пароль, для любого соединения, с доступом к любой базе данных. Предупреждение: это серьезная дыра в безопасности - любой пользователь может изменить базу данных mysql, включая пользователей и пароли, пока сервер работает с этой опцией.

(если у вас был полный доступ к базе данных, но вы не изменили существующие пароли и / или не смогли изменить параметры процесса сервера, я подозреваю, что происходит что-то подозрительное)

0 голосов
/ 02 июня 2010

Я не думаю, что есть такой взлом. Однако, если пароль где-то жестко задан, его легко извлечь и сгенерировать скрипт. За исключением, конечно, если формат, где хранится пароль, не читается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...