hacktricks/pentesting-web/reset-password.md

214 lines
11 KiB
Markdown
Raw Normal View History

# Bypass del Ripristino/Recupero Password
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Impara l'hacking su AWS da zero a esperto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Esperto Red Team AWS di HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-31 01:25:17 +00:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
2023-02-27 09:28:45 +00:00
2024-02-10 13:03:23 +00:00
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
**Approfondimenti sull'Hacking**\
Coinvolgiti con contenuti che esplorano l'emozione e le sfide dell'hacking
2024-02-10 13:03:23 +00:00
**Notizie sull'Hacking in Tempo Reale**\
Resta aggiornato con il mondo dell'hacking ad alta velocità attraverso notizie e approfondimenti in tempo reale
**Ultime Annunci**\
Rimani informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali delle piattaforme
2024-02-10 13:03:23 +00:00
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
2024-02-10 13:03:23 +00:00
## **Fuga del Token di Ripristino Password tramite Referrer**
2024-02-10 13:03:23 +00:00
* L'intestazione HTTP referer potrebbe rivelare il token di ripristino password se è incluso nell'URL. Ciò può verificarsi quando un utente clicca su un link di un sito web di terze parti dopo aver richiesto un ripristino password.
* **Impatto**: Possibile compromissione dell'account tramite attacchi di Cross-Site Request Forgery (CSRF).
* **Sfruttamento**: Per verificare se un token di ripristino password sta fuoriuscendo nell'intestazione referer, **richiedi un ripristino password** al tuo indirizzo email e **clicca sul link di ripristino** fornito. **Non cambiare immediatamente la tua password**. Invece, **naviga su un sito web di terze parti** (come Facebook o Twitter) mentre **intercetti le richieste usando Burp Suite**. Ispeziona le richieste per vedere se l'intestazione referer contiene il token di ripristino password, poiché ciò potrebbe esporre informazioni sensibili a terze parti.
2024-02-10 13:03:23 +00:00
* **Riferimenti**:
* [Segnalazione HackerOne 342693](https://hackerone.com/reports/342693)
* [Segnalazione HackerOne 272379](https://hackerone.com/reports/272379)
* [Articolo sulla Fuga del Token di Ripristino Password](https://medium.com/@rubiojhayz1234/toyotas-password-reset-token-and-email-address-leak-via-referer-header-b0ede6507c6a)
## **Avvelenamento del Ripristino Password**
* Gli attaccanti possono manipolare l'intestazione Host durante le richieste di ripristino password per indirizzare il link di ripristino verso un sito maligno.
* **Impatto**: Conduce a una possibile compromissione dell'account rilasciando token di ripristino agli attaccanti.
* **Passaggi di Mitigazione**:
* Convalidare l'intestazione Host rispetto a un elenco di domini consentiti.
* Utilizzare metodi sicuri lato server per generare URL assoluti.
* **Patch**: Utilizzare `$_SERVER['SERVER_NAME']` per costruire gli URL di ripristino password invece di `$_SERVER['HTTP_HOST']`.
2024-02-10 13:03:23 +00:00
* **Riferimenti**:
* [Articolo di Acunetix sull'Avvelenamento del Ripristino Password](https://www.acunetix.com/blog/articles/password-reset-poisoning/)
## **Ripristino Password Manipolando il Parametro Email**
Gli attaccanti possono manipolare la richiesta di ripristino password aggiungendo parametri email aggiuntivi per deviare il link di ripristino.
* Aggiungi l'email dell'attaccante come secondo parametro usando &
```php
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
```
* Aggiungi l'email dell'attaccante come secondo parametro utilizzando %20
```php
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
```
* Aggiungi l'email dell'attaccante come secondo parametro usando |
```php
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
```
* Aggiungi l'email dell'attaccante come secondo parametro utilizzando cc
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
```
* Aggiungi l'email dell'attaccante come secondo parametro utilizzando bcc
```php
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
```
* Aggiungi l'email dell'attaccante come secondo parametro utilizzando ,
```php
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
```
* Aggiungi l'email dell'attaccante come secondo parametro nell'array json
```php
POST /resetPassword
[...]
{"email":["victim@mail.tld","atracker@mail.tld"]}
```
* **Passaggi di mitigazione**:
* Analizzare e convalidare correttamente i parametri dell'email lato server.
* Utilizzare istruzioni preparate o query parametriche per prevenire attacchi di iniezione.
2024-02-10 13:03:23 +00:00
* **Riferimenti**:
* [https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be](https://medium.com/@0xankush/readme-com-account-takeover-bugbounty-fulldisclosure-a36ddbe915be)
* [https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/](https://ninadmathpati.com/2019/08/17/how-i-was-able-to-earn-1000-with-just-10-minutes-of-bug-bounty/)
* [https://twitter.com/HusseiN98D/status/1254888748216655872](https://twitter.com/HusseiN98D/status/1254888748216655872)
## **Cambiare Email e Password di Qualsiasi Utente tramite i Parametri dell'API**
* Gli attaccanti possono modificare i parametri dell'email e della password nelle richieste API per cambiare le credenziali dell'account.
```php
POST /api/changepass
[...]
("form": {"email":"victim@email.tld","password":"12345678"})
```
* **Passi di Mitigazione**:
* Assicurarsi di una rigorosa validazione dei parametri e controlli di autenticazione.
* Implementare un logging e monitoraggio robusti per rilevare e rispondere ad attività sospette.
2024-02-10 13:03:23 +00:00
* **Riferimento**:
* [Preso completo dell'account tramite manipolazione dei parametri API](https://medium.com/@adeshkolte/full-account-takeover-changing-email-and-password-of-any-user-through-api-parameters-3d527ab27240)
## **Nessun Limite di Frequenza: Bombardamento di Email**
2024-02-10 13:03:23 +00:00
* La mancanza di limiti di frequenza sulle richieste di reset della password può portare a un bombardamento di email, sovraccaricando l'utente con email di reset.
* **Passi di Mitigazione**:
* Implementare limiti di frequenza basati sull'indirizzo IP o sull'account utente.
* Utilizzare sfide CAPTCHA per prevenire abusi automatizzati.
2024-02-10 13:03:23 +00:00
* **Riferimenti**:
* [Segnalazione HackerOne 280534](https://hackerone.com/reports/280534)
## **Scoprire Come Viene Generato il Token di Reset della Password**
2024-02-10 13:03:23 +00:00
* Comprendere il modello o il metodo di generazione del token può portare alla previsione o al brute-forcing dei token. Alcune opzioni:
* Basato sul Timestamp
* Basato sull'ID Utente
* Basato sull'email dell'Utente
* Basato sul Nome e Cognome
* Basato sulla Data di Nascita
* Basato sulla Crittografia
* **Passi di Mitigazione**:
* Utilizzare metodi crittografici robusti per la generazione del token.
* Assicurare una casualità e lunghezza sufficienti per prevenire la prevedibilità.
2024-02-10 13:03:23 +00:00
* **Strumenti**: Utilizzare Burp Sequencer per analizzare la casualità dei token.
## **UUID Indovinabile**
* Se gli UUID (versione 1) sono indovinabili o prevedibili, gli attaccanti potrebbero forzarli per generare token di reset validi. Controlla:
{% content-ref url="uuid-insecurities.md" %}
[uuid-insecurities.md](uuid-insecurities.md)
{% endcontent-ref %}
* **Passi di Mitigazione**:
* Utilizzare GUID versione 4 per la casualità o implementare misure di sicurezza aggiuntive per altre versioni.
2024-02-10 13:03:23 +00:00
* **Strumenti**: Utilizzare [guidtool](https://github.com/intruder-io/guidtool) per analizzare e generare GUID.
## **Manipolazione della Risposta: Sostituire una Risposta Errata con una Corretta**
* Manipolazione delle risposte HTTP per eludere messaggi di errore o restrizioni.
* **Passi di Mitigazione**:
* Implementare controlli lato server per garantire l'integrità della risposta.
* Utilizzare canali di comunicazione sicuri come HTTPS per prevenire attacchi di tipo man-in-the-middle.
2024-02-10 13:03:23 +00:00
* **Riferimento**:
* [Bug Critico in un Evento Live di Bug Bounty](https://medium.com/@innocenthacker/how-i-found-the-most-critical-bug-in-live-bug-bounty-event-7a88b3aa97b3)
## **Utilizzo di Token Scaduti**
* Verifica se i token scaduti possono ancora essere utilizzati per il reset della password.
* **Passi di Mitigazione**:
* Implementare politiche rigorose di scadenza dei token e convalidare la scadenza del token lato server.
## **Brute Force del Token di Reset della Password**
* Tentativo di effettuare un attacco di brute force al token di reset utilizzando strumenti come Burpsuite e IP-Rotator per eludere i limiti di frequenza basati sull'IP.
* **Passi di Mitigazione**:
* Implementare meccanismi robusti di limitazione della frequenza e blocco dell'account.
* Monitorare le attività sospette indicative di attacchi di brute force.
## **Prova a Utilizzare il Tuo Token**
* Verifica se il token di reset di un attaccante può essere utilizzato insieme all'email della vittima.
* **Passi di Mitigazione**:
* Assicurarsi che i token siano vincolati alla sessione dell'utente o ad altri attributi specifici dell'utente.
## **Invalidazione della Sessione in Logout/Reset della Password**
* Garantire che le sessioni vengano invalidate quando un utente effettua il logout o resetta la password.
* **Passi di Mitigazione**:
* Implementare una corretta gestione delle sessioni, garantendo che tutte le sessioni vengano invalidate al logout o al reset della password.
## **Invalidazione della Sessione in Logout/Reset della Password**
* I token di reset dovrebbero avere un tempo di scadenza dopo il quale diventano invalidi.
* **Passi di Mitigazione**:
* Impostare un tempo di scadenza ragionevole per i token di reset e farne rispettare rigorosamente la scadenza lato server.
2024-02-10 13:03:23 +00:00
## Riferimenti
2024-02-05 02:28:59 +00:00
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
2023-07-14 15:03:41 +00:00
Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) per comunicare con hacker esperti e cacciatori di bug bounty!
2022-10-27 23:22:18 +00:00
**Approfondimenti sull'Hacking**\
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
2022-10-27 23:22:18 +00:00
**Notizie sull'Hacking in Tempo Reale**\
Resta aggiornato sul mondo dell'hacking ad alta velocità attraverso notizie e approfondimenti in tempo reale
2022-10-27 23:22:18 +00:00
**Ultime Novità**\
Resta informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
2023-12-31 01:25:17 +00:00
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi stesso!