私のサイトでPHPBB2ログイン認証情報を使用する
-
08-07-2019 - |
質問
現在、私のサイトの1つのセクションにPHPBB2フォーラムを使用しています。このサイトを拡張したい(新しいページ、スクリプトなどを追加したい)。これらのページへのアクセスを、PHPBB2フォーラムに既にログインしているユーザーに制限したいと思います。
実際、特定のMemberGroupのメンバーのみがこれらのページにアクセスできる場合、それは素晴らしいことです。
サイトの残りの部分で同じログイン資格情報を使用し、メンバーの所属グループを確認する方法はありますか?
ありがとう
(ちなみに、これらのページはPHPにあります)
解決
ユーザーがPHPBBにログインしている場合、常にそうとは限りませんが、データベースに対して誰が誰であるかを確認するのに役立つCookieを持っている可能性があります。
この場合、以下のCookieのパンくずを破ります:
ユーザーがPHPBBにログインしている場合、常にそうとは限りませんが、データベースに対して誰が誰であるかを確認するのに役立つCookieを持っている可能性があります。
この場合、以下のCookieのパンくずを破ります:
a:2:{s:11:"autologinid";s:0:"";s:6:"userid";s:1:"3";}
例を使用して吹き飛ばして、データベースに対してクエリを実行する必要があるデータを見つけましょう。以下は、上記のCookieで見つかったチャンクです。
$goo = unserialize(ユーザーがPHPBBにログインしている場合、常にそうとは限りませんが、データベースに対して誰が誰であるかを確認するのに役立つCookieを持っている可能性があります。
この場合、以下のCookieのパンくずを破ります:
ユーザーがPHPBBにログインしている場合、常にそうとは限りませんが、データベースに対して誰が誰であるかを確認するのに役立つCookieを持っている可能性があります。
この場合、以下のCookieのパンくずを破ります:
a:2:{s:11:"autologinid";s:0:"";s:6:"userid";s:1:"3";}
例を使用して吹き飛ばして、データベースに対してクエリを実行する必要があるデータを見つけましょう。以下は、上記のCookieで見つかったチャンクです。
SELECT pug.user_id FROM phpbb_user_group pug
LEFT JOIN phpbb_groups g
ON pug.group_id=g.group_id
WHERE pug.user_id='$extracted_id'
AND g.group_name='Foo';
このために、「3」を抽出して抽出します。これは、ログインしたPHPBBユーザーに対応するものです。
そのデータを非シリアル化して、そのuser_idをヤンクします:
<*>
( epochwolf のおかげで、上記のCookieのシリアル化された形式を指摘してくれました)
この番号は、データベースに対して実行して、メンバーが属するグループをチェックするのに適しています。また、 phpbb_user_group
テーブルに対してチェックを実行します(フォーラムテーブルのプレフィックスとしてphpbb_があった場合)。
データベースのグループIDを追跡したくない場合は、何らかの結合を行い、名前に対してテストする必要があります。たぶんこのようなもの:
<*>
そこから行を取得できる場合、そのFooグループに属するログインユーザーであることがわかります。
COOKIE["phpbb2mysql_data"]
例を使用して吹き飛ばして、データベースに対してクエリを実行する必要があるデータを見つけましょう。以下は、上記のCookieで見つかったチャンクです。
<*>
このために、「3」を抽出して抽出します。これは、ログインしたPHPBBユーザーに対応するものです。
そのデータを非シリアル化して、そのuser_idをヤンクします:
<*>
( epochwolf のおかげで、上記のCookieのシリアル化された形式を指摘してくれました)
この番号は、データベースに対して実行して、メンバーが属するグループをチェックするのに適しています。また、 phpbb_user_group
テーブルに対してチェックを実行します(フォーラムテーブルのプレフィックスとしてphpbb_があった場合)。
データベースのグループIDを追跡したくない場合は、何らかの結合を行い、名前に対してテストする必要があります。たぶんこのようなもの:
<*>
そこから行を取得できる場合、そのFooグループに属するログインユーザーであることがわかります。
COOKIE["phpbb2mysql_data"]);
$extracted_id = $goo["userid"];
このために、「3」を抽出して抽出します。これは、ログインしたPHPBBユーザーに対応するものです。
そのデータを非シリアル化して、そのuser_idをヤンクします:
<*>
( epochwolf のおかげで、上記のCookieのシリアル化された形式を指摘してくれました)
この番号は、データベースに対して実行して、メンバーが属するグループをチェックするのに適しています。また、 phpbb_user_group
テーブルに対してチェックを実行します(フォーラムテーブルのプレフィックスとしてphpbb_があった場合)。
データベースのグループIDを追跡したくない場合は、何らかの結合を行い、名前に対してテストする必要があります。たぶんこのようなもの:
<*>
そこから行を取得できる場合、そのFooグループに属するログインユーザーであることがわかります。
COOKIE["phpbb2mysql_data"]
例を使用して吹き飛ばして、データベースに対してクエリを実行する必要があるデータを見つけましょう。以下は、上記のCookieで見つかったチャンクです。
<*>このために、「3」を抽出して抽出します。これは、ログインしたPHPBBユーザーに対応するものです。
そのデータを非シリアル化して、そのuser_idをヤンクします:
<*>( epochwolf のおかげで、上記のCookieのシリアル化された形式を指摘してくれました)
この番号は、データベースに対して実行して、メンバーが属するグループをチェックするのに適しています。また、 phpbb_user_group
テーブルに対してチェックを実行します(フォーラムテーブルのプレフィックスとしてphpbb_があった場合)。
データベースのグループIDを追跡したくない場合は、何らかの結合を行い、名前に対してテストする必要があります。たぶんこのようなもの:
<*>そこから行を取得できる場合、そのFooグループに属するログインユーザーであることがわかります。
他のヒント
PHPBB2のユーザーテーブルを使用し、他のページのログインコードと権限コードを使用します。汚れていますが、動作します。
PHPBB2のコードを使用すると、次のようになります。
PHPBB2のコードを調べ、PHPBB2がユーザーを認証する方法を見つけ、関連するコードの塊をコピーします。 PHPBB2がきちんと構造化されている場合、PHPBB2内のいくつかのファイルを含めるだけで、大きなハックジョブなしで使用できる場合があります。うまく構造化されていないと、汚くて見苦しくなります。
Webサイトへの新しいセキュアな追加をテストすることを忘れないでください!ハッキングが正しいことを確認してください。
phpBB 2のユーザーテーブルとグループテーブルを直接使用できます。私が思い出すように、パスワード列は実際のパスワードのmd5()にすぎません。
パスワードは(最終的に)ソルトされているため、このトリックはphpBB3では機能しなくなりました。