Web 攻撃と防御のビジネス セキュリティ: パスワード回復セキュリティ ケースの概要。

Web 攻撃と防御のためのビジネス セキュリティ: パスワード回復セキュリティ ケースの概要

ビジネスセキュリティとは、ビジネスシステムをセキュリティの脅威から保護するための手段または手段を指します。広義のビジネス セキュリティには、ビジネスを実行するソフトウェアおよびハードウェア プラットフォーム(オペレーティング システム、データベース、ミドルウェアなど)、ビジネス システム自体(ソフトウェアまたは機器)、およびビジネスによって提供されるサービスのセキュリティが含まれる必要があります。狭義のセキュリティとは、業務システム自身のソフトウェアを指し、サービスのセキュリティを指します。


目次:

パスワード取得セキュリティ ケースの概要:

パスワード回復証明書は、ブルート フォースによってクラックされる可能性があります。

パスワード回復資格情報は、クライアントに直接返されます。

パスワード リセット資格情報は、ユーザー アカウントに大まかに関連付けられています。

ユーザーの携帯電話を再バインドします。

サーバー側の検証コードのロジックの欠陥:

サーバーの返品情報をローカルで確認します----返品パッケージを確認するように変更します。

登録範囲----既存のユーザーは繰り返し登録できます。

他のアカウント パスワードをリセットするためのセッション オーバーライド メソッド:

パスワード取得の脆弱性を防止するための対策:


免責事項:

この記事に記載されている技術を使用して違法な攻撃を行うことは固く禁じられています。使用しない場合の結果は自己責任であり、アップロード者は一切の責任を負いません。


パスワード取得セキュリティ ケースの概要:

パスワード回復証明書は、ブルート フォースによってクラックされる可能性があります。

パスワード回復証明書とは、パスワード回復のプロセス中に、サーバーが検証コードまたは特別に作成された URL を、ユーザーの自己識別のためにユーザーの登録済み携帯電話または電子メール アドレスに送信することを意味します.列挙されたユーザー資格情報を総当たり攻撃することにより、ユーザーがパスワードをリセットします


パスワード回復資格情報は、クライアントに直接返されます。

一部の情報システムでは、パスワード回復機能の設計に論理的な抜け穴があり、ユーザーの自己識別に使用される情報のパスワード回復資格情報をさまざまな方法でクライアントに返す場合があります。このようにして、攻撃者がデータ パケットをローカルで取得してその内容を分析する限り、攻撃者は他のユーザーのパスワード回復資格情報を取得し、パスワードをリセットするユーザーになりすますことができます。


パスワード回復資格情報は、要求リンクで公開されます

ステップ 1: 特定の Web サイトのログイン サイトにアクセスし、[パスワードを忘れた場合] をクリックして、登録済みの携帯電話からパスワードを取得することを選択します。

ステップ 2: 携帯電話番号を入力し、クリックして確認コードを取得し、Burp Suite を使用してパケットをキャプチャし、要求されたリンクで確認コードを表示します。

ステップ 3: リクエスト リンクに表示されている確認コードを直接入力して、パスワードを変更します。


秘密の答えはウェブページのソースコードに隠されています

ステップ 1: Web サイトにアクセスし、[パスワードの取得] ボタンをクリックしてから、[オンラインでのアピール] リンクをクリックします。

ステップ 2: オンラインにします。アピール ページでソース コードを直接確認すると、ソース コードにパスワード プロンプトの質問があるだけでなく、質問に対する回答が非表示テーブルに隠されていることがわかります。この方法により、任意のユーザーのパスワード変更の質問に対する回答を得ることができ、他のユーザーのパスワードを変更することができます。


SMS 検証コードがクライアントに返されます: https://tianyuk.blog.csdn.net/article/details/130023416


パスワード リセット資格情報は、ユーザー アカウントに大まかに関連付けられています。

一部の情報システムでは、パスワード取得機能の検証ロジックに欠陥があり、パスワード リセット資格情報がデータベースに存在するかどうかのみを検証し、リセット資格情報とユーザー アカウントとの間のバインド関係を厳密に検証していません。この種の論理的な抜け穴です。パスワード リセット資格情報がユーザー アカウントに厳密に関連付けられていない場合、攻撃者はデータ パケット内のユーザー アカウントを変更して、他のアカウントのパスワードをリセットできます。


自分の SMS 確認コードを使用して、他人のパスワードを取得します。

ステップ 1: 携帯電話番号取得ページにアクセスし、携帯電話番号を入力してパスワードを取得します。

ステップ 2: 確認コードを受け取ったら、確認コードと新しいパスワードを入力して送信します. このとき、データ パケット キャプチャ ツール Burp Suite を使用してパケットをキャプチャ し、データ パケット内のユーザー名を別のアカウントに変更します. 後投稿を送信すると、他のアカウントにログインするためのパスワードを自分で設定できます。 


ユーザーの携帯電話を再バインドします。

一部の情報システムには、ユーザーの携帯電話またはメールボックスをバインドする機能に不正アクセスの脆弱性があり、攻撃者はこの脆弱性を利用して、他のユーザーの携帯電話またはメールボックスを権限を超えてバインドし、通常のパスワード取得方法でパスワードをリセットすることができます。


ユーザーの携帯電話を再バインドする

ステップ1:最初に特定のメールボックスにテストアカウントを登録してから、携帯電話にバインドされたページにジャンプします.

ステップ 2: この時点でuidであるリンクにパラメータがあることに注意してください。uid をの 誰かの電子メール アカウントに変更し、制御できる携帯電話番号を入力し、確認コードを取得して、目的の電子メールが目的の電子メールであることを確認します。権限を超えて縛られている セキュアな携帯電話。

ステップ 3: 通常のパスワード取得プロセスを実行し、このメールボックス内の携帯電話からパスワードを取得する別の方法があることを確認します. この携帯電話番号は、バインドされた携帯電話番号です.

ステップ 4: 確認コードを取得して新しいパスワードを入力し、最終的に新しいターゲット アカウントのパスワードを正常にリセットします。


サーバー側の検証コードのロジックの欠陥:

一部の情報システムのサーバー検証ロジックには抜け穴があり、攻撃者は、データ パッケージ内の一部のパラメーターを削除することによってメール送信アドレスを変更したり、取得方法の選択と本人確認の手順をスキップしたり、パスワードの再設定ページに直接アクセスしたり、パスワードのリセットに成功しました。他の人のパスワード。


パラメーター バイパス検証を削除する

ステップ 1: 特定のメールボックス システムは、パスワード プロンプトの質問を通じてパスワードを取得できます。

ステップ 2: 最初にパスワードの回答をランダムに入力し、次のステップに入ってパケットをキャプチャし、送信する前に質問に対する回答のフィールド全体を削除します。

ステップ 3: サーバーの検証ロジックの欠陥により、質問に対する回答が得られない場合は、検証を直接パスして、パスワードを正常にリセットします。


メールアドレスは改ざん可能

ステップ1:登録時に入力したメールアドレスからパスワードを取得できるサイトもありますが、ネットワークの不安定などによるメール送信の失敗を防ぐため、パスワード取得ページではメールの再送信機能を提供しています。

ステップ 2: クリックして電子メールを再送信し、 Burp Suiteツールでパケットをキャプチャして 要求を傍受し、データ パケット内の電子メール アドレスをテストした電子メール アドレスに変更します。

ステップ 3: クリックしてテストしたメールボックスに入り、リンクをクリックしてパスワードを正常にリセットします。


認証手順をバイパスできます

ステップ 1: 特定の Web サイトのパスワード回復機能に入り、アカウント番号と確認コードを入力します。

ステップ 2: 確認後、http://**.***.com.cn/reset/pass.doに直接アクセスし て、取得方法と本人認証を選択するプロセスをスキップし、パスワードのリセット ページに直接入ります。


サーバーの返品情報をローカルで確認します----返品パッケージを確認するように変更します。

一部の情報システムには、パスワード取得機能の設計に論理的な抜け穴があります.攻撃者は、サーバーからの戻りパケットを取得し、その中のいくつかのパラメーターを変更するだけでよく、検証手順をスキップしてパスワードリセットページに直接入ります.


検証をバイパスするように返品パッケージを変更します: https://tianyuk.blog.csdn.net/article/details/130057199


登録範囲----既存のユーザーは繰り返し登録できます。

一部の情報システムのユーザー登録機能は、既存のユーザー アカウントを厳密に検証していないため、攻撃者は他のユーザー アカウントを繰り返し登録することで、他のアカウントのパスワードをリセットできます。


ステップ 1: Web サイトを入力し、[ユーザー登録] をクリックしてユーザー名を入力します。マウスが入力ボックスから離れると、アカウントが登録されたことを示すメッセージが表示されます。

ステップ 2: 未登録のユーザー名を入力してフォームを送信すると同時に、パケット キャプチャ Burp Suiteツールを使用してデータ パケットを傍受し、ユーザー名パラメーターの値をadminに変更します。

ステップ 3: この時点で、adminユーザーのパスワードは再登録によって変更されていますが、元のユーザーのすべての情報は変更されていません。つまり、攻撃者はユーザーのすべての情報を取得しています。 :氏名、身分証明書、携帯電話番号など


他のアカウント パスワードをリセットするためのセッション オーバーライド メソッド:

一部のサーバーのパスワード回復機能のサーバー側検証には抜け穴があり、攻撃者がパスワード回復リンクを使用してパスワードをリセットすると、セッション カバレッジを通じて他のアカウントのパスワードを正常にリセットできます。


ステップ 1: 自分のアカウントを使用してパスワードを取得します。

ステップ 2: メールを受信した後は、リンクをクリックしないでください。

ステップ 3: 同じブラウザでウェブサイトを開き、パスワード取得ページに再度アクセスし、別の人の口座番号を入力します。

ステップ 4: パスワード リセット メールをクリックした後、このページで停止します。

ステップ 5: 同じブラウザーで、ステップ 2 で電子メールで受信したリンクを開き、新しいパスワードを設定します。

ステップ 6: 新しく設定したパスワードを使用して、他のユーザーのアカウントに正常にログインします。


パスワード取得の脆弱性を防止するための対策:

(1) パスワード取得機能を設計するときは、攻撃者がユーザーの資格情報に対してブルート フォース列挙攻撃を行うのを防ぐために、ユーザーの資格情報の検証の回数と頻度を制限します。

(2) パスワード取得のすべてのリンクを整理し、すべての対話データを記録および分析し、パスワード取得資格情報などの機密情報がクライアントに直接返されないようにします。

(3) サーバー側パスワードリセットトークンの生成アルゴリズムを監査し、攻撃者に解読されやすい単純なアルゴリズムの使用を避ける。

(4) パスワード リセット資格情報はアカウントに厳密にバインドする必要があり、攻撃者がアカウント ID を変更して他のアカウントのパスワードをリセットできないように、有効な時間を設定する必要があります。

(5) クライアントがインポートしたデータは厳密に検証し、携帯電話番号やメールアドレスなどの重要な情報はバックグラウンドデータに格納されている情報と照合し、渡されたパラメータから直接使用しないでください。攻撃者が受信データを改ざんして他のアカウントのパスワードをリセットするのを防ぎます。

(6) ユーザー登録や携帯電話のメールボックスのバインドなどのビジネス ロジックを監査して、ユーザー登録の繰り返しや不正なバインドなどの抜け穴を通じて、攻撃者が他のアカウントのパスワードを間接的にリセットするのを防ぎます。

    

    

学習する書籍: Web 攻撃と防御ビジネス セキュリティの実践ガイド。

おすすめ

転載: blog.csdn.net/weixin_54977781/article/details/130117325