この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 5499|答える: 2

[出典] 【練習】C#プログラムはクッキーを通じてDiscuzの現在のユーザー情報を復号します

[リンクをコピー]
掲載地 2022/10/23 22:02:39 | | | |
要件:ユーザーが正常にログインすると、Discuzプログラムは応答的にログイン情報をクッキーに書き込みます。クッキーが既知であれば、クッキー内の現在ログインしているユーザーのユーザーIDはどのように復号しますか?

まずサーバーにログインして閲覧する必要があります/config/config_global.php以下の構成には2つの構成があります。

クッキーのプレフィックス:$_config['クッキー']['クッキープレ']
暗号化と復号キー:$_config['security']['authkey']

このサイトを例に挙げましょう:$_config['cookie']['cookiepre'] = 'Mqd1_'; クッキー内の :Mqd1_2132_saltkey と Mqd1_2132_auth の値をよく見てください。

原理は以下の通りです。

$authkey = 「*********」; これが秘密の鍵だ。 $_config['security']['authkey'] = config/config_global.phpファイルの '*******'; これが現実です。自分の所有物を見れば、それが現実です。
$salt = $_COOKIE['Mqd1_2132_saltkey']; これはディスクズによって生成される乱数です。
$key = md5($authkey.$salt); 復号鍵
$info = uc_authcode($_COOKIE['Mqd1_2132_auth'], 'DECODE',$key);

その後、$infoを印刷して、こんな感じの結果が得られます:

BF6B7E1DDD3DA431342F550EB8CE19E5 1

最後に1などの数字があり、これはユーザーIDを表していることが分かりました。これにより、ユーザー情報を取得し、さらにこのIDに基づいてuCenterのユーザー情報を得ることができました。
復号方法がわかれば、C#コードは次のようになります:

対応する情報をプログラムに入力すると、実行結果は以下の通りです。



プログラムダウンロード:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える






先の:【実践戦闘】ホームメディアドッカー用のサンダーダウンロードとDLNAサービスを構築
次に:VDI製品比較:VMware Horizon vs. Citrix
掲載地 2022/10/24 12:24:43 |
覚えてみろ
掲載地 2022/10/25 10:13:44 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com