> 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/de/web/authentication/username-enumeration-via-account-lock.md).

# Benutzerenumeration über Kontosperrung

Notizen zur Benutzerenumeration über Kontosperrung für die Labs der PortSwigger Web Security Academy, einschließlich Ausnutzungsablauf, Payload-Tests, Burp-Suite-Validierung und Behebungskontext.

### Benutzername-Enumeration über Kontosperrung

Die Anwendung richtet nach mehreren fehlgeschlagenen Versuchen eine Kontosperrung ein, aber die Logik ist fehlerhaft. Sie kann verwendet werden, um:

1. Einen gültigen Benutzernamen zu finden.
2. Ihr Passwort per Brute-Force zu knacken.
3. Zur Kontoseite gehen.

Die bereitgestellten Listen sind:

* Das **Sperrung des Kontos** tritt \*\* nur auf, wenn der Benutzername gültig ist\*\*.
* Bei nicht existierenden Benutzern bleibt das Verhalten selbst nach mehreren Versuchen unterschiedlich (keine echte Sperre, gleiche Nachricht/Antwort).
* Daher kann man einen existierenden Benutzer von einem nicht existierenden Benutzer nur durch Beobachten der Antworten unterscheiden.

<figure><img src="https://2955439919-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. Erkennung eines gültigen Benutzernamens

1. Senden Sie Anmeldeanfragen im **Intruder-Modus** mit der **Cluster Bomb** Technik:

* Eine Menge von Kandidaten für das Benutzernamenfeld.
* Eine Menge von Passwörtern, um mehrere Fehlschläge zu verursachen.

2. Konfigurieren Sie eine \*\*Übereinstimmungsregel (Regex)\*\*, um die Antworten zu filtern, die die Nachricht enthalten:

* `Ungültiger Benutzername oder ungültiges Passwort.`

<figure><img src="https://2955439919-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>

* Ergebnisse analysieren:
* **Ungültig** Konten verhalten sich konsistent.
* Bei einem gültigen \*\*Konto\*\* ändert sich die Antwort nach einigen fehlgeschlagenen Versuchen (Sperrung).

<figure><img src="https://2955439919-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. Beim Blick auf die Antworten fällt auf, dass der Benutzername **`akamai`** sich von den anderen unterscheidet und dieses mit der Kontosperrung zusammenhängende Verhalten offenbart. / → \*\*`akamai` wird als gültiger Benutzername identifiziert. \*\*

#### 2. Brute-Force des Passworts eines gültigen Kontos

1. Sobald `akamai` als gültiger Benutzer identifiziert wurde, wird Intruder neu gestartet im **Sniper-Modus**:

* Das Benutzernamenfeld bleibt an `akamai`.
* Nur das **Passwort** wird mit der bereitgestellten Wortliste verwendet (Authentifizierungs-Laborpasswörter).

<figure><img src="https://2955439919-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. Die Antworten werden erneut geprüft, einschließlich:

* Der \*\*HTTP-Statuscode\*\*.
* Die Größe des Antwortkörpers.
* Fehlen oder Änderung der Fehlermeldung.

2. Beim Testen des **`chelsea`** Passworts ist die Antwort anders (z. B. \*\* anderer HTTP-Code\*\* als bei anderen Versuchen). / → Daraus wird geschlossen, dass das Drehmoment **`akamai` / `chelsea`** korrekt ist.

<figure><img src="https://2955439919-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/de/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.
