> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ja/web/authentication/username-enumeration-via-account-lock.md).

# アカウントロックアウトを利用したユーザー名列挙

アカウントロックアウトを利用したユーザー名列挙の PortSwigger Web Security Academy ラボ向けノート。攻撃フロー、ペイロードテスト、Burp Suite による検証、および是正策の文脈を含みます。

### アカウントロックを利用したユーザー名列挙

アプリケーションは数回の失敗後にアカウントロックを設定しますが、そのロジックは不完全です。次の用途に利用できます：

1. 有効なユーザー名を見つける。
2. パスワードをブルートフォースする。
3. そのアカウントページに移動する。

提供されるリストは次のとおりです：

* その **アカウントのロック** \*\*ユーザー名が有効な場合にのみ\*\*発生します。
* 存在しないユーザーでは、何度試しても挙動は異なります（実際のロックはなく、同じメッセージ/応答）。
* したがって、応答を観察するだけで既存ユーザーと存在しないユーザーを区別できます。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4488912695921502b1626a6ca9fa2cdcedab8fc9%2F%7B990C1E33-5174-47C2-A076-89DB667CAD9C%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

#### 1. 有効なユーザー名の検出

1. ログイン要求を送信する **Intruderモード** で **Cluster Bomb** 手法：

* ユーザー名欄の候補の集合。
* 複数回失敗させるためのパスワードの集合。

2. メッセージを含む応答を絞り込むために、\*\*対応ルール（正規表現）\*\*を設定する：

* `ユーザー名またはパスワードが無効です。`

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3e97305bc93da5a693364b53788001c7f8381f82%2F%7B51BE5C26-72E2-49CE-B656-0A5E055B0999%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

* 結果を分析する：
* **無効** アカウントは一貫した動作を維持します。
* 有効な\*\*アカウント\*\*では、一定回数失敗すると応答が変化します（ロック）。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4551c97ca1337e410d484590a9baf8ad859cd78d%2F%7B5623C231-62EC-451F-A3C0-D01CED6E3857%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

1. 応答を見ると、ユーザー名 **`akamai`** 他のものとは異なり、アカウントロックに関連するこの挙動を示しています。/ → \*\*`akamai` は有効なユーザー名として特定されます。\*\*

#### 2. 有効アカウントのパスワードの総当たり

1. 一度 `akamai` が有効なユーザーとして特定されたら、Intruderを **Sniperモードで**:

* ユーザー名フィールドは `akamai`.
* そのうちの **パスワード** 提供されたワードリスト（Authentication lab のパスワード）とともに使用されます。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7ee48f3d67ff83b1c239afe2b336017cdac80cf1%2F%7B61A289C6-CD3D-4AA5-9EDF-5811F764EF0E%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

1. 応答を再度確認し、以下を含めます：

* \*\*HTTPステータスコード\*\*。
* 応答本文のサイズ。
* エラーメッセージの有無または変更。

2. をテストするとき、 **`chelsea`** パスワードでは、応答が異なります（たとえば、\*\*HTTPコードが他の試行と異なる\*\*）。/ → その組み合わせが **`akamai` / `chelsea`** 正しいと推測されます。

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-cc02873fb961a6cd8baf85ef86e5a5db5ea8333d%2F%7B49B33C8D-8AAB-4470-8A77-2C2A510ED0E5%7D.png?alt=media" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/ja/web/authentication/username-enumeration-via-account-lock.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
