hacktricks/pentesting-web/reset-password.md

10 KiB
Raw Blame History

パスワードリセット/忘れたパスワードのバイパス

htARTEHackTricks AWS Red Team ExpertでAWSハッキングをゼロからヒーローまで学ぶ

HackTricksをサポートする他の方法

経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るためにHackenProof Discordサーバーに参加しましょう!

ハッキングの洞察
ハッキングのスリルとチャレンジに深く入り込むコンテンツに参加

リアルタイムハックニュース
リアルタイムのニュースと洞察を通じて、ハッキングの世界を追いかける

最新のお知らせ
最新のバグバウンティの開始や重要なプラットフォームのアップデートについての情報を入手

Discordに参加して、今日からトップハッカーと協力を始めましょう! Discord

リファラー経由のパスワードリセットトークン漏洩

  • HTTPリファラーヘッダーにパスワードリセットトークンが含まれている場合、URLに漏洩する可能性があります。これは、ユーザーがパスワードリセットをリクエストした後にサードパーティのウェブサイトリンクをクリックした場合に発生する可能性があります。
  • 影響: クロスサイトリクエストフォージェリCSRF攻撃による潜在的なアカウント乗っ取り。
  • 参考:

パスワードリセットポイズニング

  • 攻撃者は、パスワードリセットリクエスト中にホストヘッダーを操作して、リセットリンクを悪意のあるサイトに向けることができます。
  • パッチ: $_SERVER['HTTP_HOST']の代わりに$_SERVER['SERVER_NAME']を使用してパスワードリセットURLを構築します。
  • 影響: リセットトークンが攻撃者に漏洩してアカウント乗っ取りにつながります。
  • 緩和手順:
  • ホストヘッダーを許可されたドメインのホワイトリストと照合します。
  • 予測可能性を防ぐために、安全でサーバーサイドの方法を使用して絶対URLを生成します。
  • 参考:

Emailパラメータの操作によるパスワードリセット

  • 攻撃者は、リセットリンクを逸らすために追加のメールパラメータをパスワードリセットリクエストに操作することができます。
  • 緩和手順:
  • サーバーサイドでメールパラメータを適切に解析および検証します。
  • インジェクション攻撃を防ぐために、準備されたステートメントまたはパラメータ化されたクエリを使用します。
  • 参考:

APIパラメータを操作して任意のユーザーのメールアドレスとパスワードを変更

  • 攻撃者は、APIリクエスト中のメールアドレスとパスワードパラメータを変更してアカウント資格情報を変更することができます。
  • 緩和手順:
  • 厳格なパラメータ検証と認証チェックを確保します。
  • 不審なアクティビティに対応するために、堅牢なロギングとモニタリングを実装します。
  • 参考:

レート制限なし: メールボミング

  • パスワードリセットリクエストのレート制限がないと、ユーザーがリセットメールで圧倒される可能性があります。
  • 緩和手順:
  • IPアドレスまたはユーザーアカウントに基づいたレート制限を実装します。
  • 自動化された悪用を防ぐためにCAPTCHAチャレンジを使用します。
  • 参考:

パスワードリセットトークンの生成方法を調べる

  • トークン生成のパターンや方法を理解することで、トークンの予測やブルートフォース攻撃が可能になります。
  • 緩和手順:
  • 予測不可能性を防ぐために、強力な暗号化方法を使用します。
  • 予測可能性を防ぐために、十分なランダム性と長さを確保します。
  • ツール: トークンのランダム性を分析するためにBurp Sequencerを使用します。

推測可能なGUID

  • GUIDバージョン1が推測可能または予測可能な場合、攻撃者は有効なリセットトークンを生成するためにそれらをブルートフォース攻撃する可能性があります。
  • 緩和手順:
  • ランダム性のためにGUIDバージョン4を使用するか、他のバージョンに対して追加のセキュリティ対策を実装します。
  • ツール: guidtoolを使用してGUIDの分析と生成を行います。

レスポンス操作: 悪いレスポンスを良いものに置き換える

  • HTTPレスポンスを操作してエラーメッセージや制限をバイパスします。
  • 緩和手順:
  • 応答の整合性を確保するためにサーバーサイドのチェックを実装します。
  • 中間者攻撃を防ぐためにHTTPSなどの安全な通信チャネルを使用します。
  • 参考:

期限切れトークンの使用

  • 期限切れのトークンがまだパスワードリセットに使用できるかどうかをテストします。
  • 緩和手順:
  • 厳格なトークン有効期限ポリシーを実装し、サーバーサイドでトークンの有効期限を検証します。

ブルートフォースパスワードリセットトークン

  • リセットトークンをブルートフォース攻撃する試みは、IPベースのレート制限をバイパスするためにBurpsuiteやIP-Rotatorなどのツールを使用します。
  • 緩和手順:
  • 堅牢なレート制限とアカウントロックアウトメカニズムを実装します。
  • ブルートフォース攻撃を示す不審なアクティビティを監視します。

あなたのトークンを使用してみてください

  • 攻撃者のリセットトークンが被害者のメールと一緒に使用できるかどうかをテストします。
  • 緩和手順:
  • トークンがユーザーセッションや他のユーザー固有の属性にバインドされていることを確認します。

ログアウト/パスワードリセット時のセッション無効化

  • ユーザーがログアウトしたりパスワードをリセットしたときにセッションが無効化されていることを確認します。
  • 緩和手順:
  • ログアウトまたはパスワードリセット時にすべてのセッションが無効化されるように適切なセッション管理を実装します。

ログアウト/パスワードリセット時のセッション無効化

  • リセットトークンには、無効になる有効期限が必要です。
  • 緩和手順:
  • リセットトークンのために合理的な有効期限を設定し、サーバーサイドで厳密に強制します。

参考文献

経験豊富なハッカーやバグバウンティハンターとコミュニケーションを取るためにHackenProof Discordサーバーに参加しましょう!

ハッキングの洞察
ハッキングのスリルとチャレンジに深く入り込むコンテンツに参加

リアルタイムハックニュース
リアルタイムのニュースと洞察を通じて、ハッキングの世界を追いかける

最新のお知らせ
最新のバグバウンティの開始や重要なプラットフォームのアップデートについての情報を入手

Discordに参加して、今日からトップハッカーと協力を始めましょう! Discord