web-dev-qa-db-ja.com

PhpBB3 SQLデータベースで直接パスワードを変更するにはどうすればよいですか?

パスワードやパスワードを取得するためのメカニズムを残していない、連絡が取れない以前の管理者からPhpBB3のインストールを継承しました。

これは、管理者パスワードを変更するために完全な権限でログインしたMySQLデータベースで実行されます。残念ながら、PhpBB3は、私がよく知らない複雑な多段階のソルトハッシュ手法を使用しているようです。 DBへのフルアクセスが与えられた場合、古いパスワードハッシュを置き換えるための有効なパスワードハッシュを生成するにはどうすればよいですか?

通常のユーザーの既知のパスワードの単純なMD5を試しましたが、DBエントリと一致しません。

それが機能する限り、DBを介して管理者パスワードをリセットする他の方法も役立ちます!

3
Captain Blammo

mysqlを実行し、関連するデータベースを選択してから、MD5関数を使用して、変更するアカウントにパスワードを設定します。

たとえば、phpbb3データベースの名前がYourphpbb3dbで、usersテーブルがphpbb_usersの場合、

mysql -u root -p

パスワードを入力してください

mysql> show databases;
mysql> use database Yourphpbb3db;
Database changed
mysql> UPDATE phpbb_users SET user_password = MD5('YourPassword') WHERE username='YourAdminName';
3
user9517

他の場所で見つかった回答(クレジット:joshhighland.com)

更新を手動で実行しますが、次のハッシュ例のいずれかを使用します。

ハッシュ:e10adc3949ba59abbe56e057f20f883eパスワード:123456

ハッシュ:$ H $ 9Ae3Uk.ECdWW5ya13M4ErWhr4c.761 /パスワード:password

例えばmysql> update phpbb_users set user_password = 'e10adc3949ba59abbe56e057f20f883e' where username = 'YourUserName';

...次にログインし、パスワードを後で覚えられるものに変更します:)

6
Philip Veale

私はphpBB3の複雑さに少しだけ精通していますが、パスワードがわかっている別のユーザーアカウント(この目的のための使い捨てアカウントなど)からハッシュとソルトをコピーしてみます。もちろん、最初に現在のハッシュとソルトをバックアップするか、DB全体をバックアップしてください...それが機能しない場合は、別のアカウントの特権を昇格させてみます。私はphpBB3の特権システムに完全に慣れていませんが、新しいアカウントの現在の管理者の特権テーブルエントリを複製するか、管理者のユーザーIDを既知のアカウントに置き換えることができます。可能であれば、これらすべてをテストシステムで実行します。

0
hwilbanks