11 KiB
Bypass del Ripristino/Recupero Password
Impara l'hacking su AWS da zero a esperto con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Unisciti al server HackenProof Discord 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
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
Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi!
Fuga del Token di Ripristino Password tramite Referrer
- 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.
- Riferimenti:
- Segnalazione HackerOne 342693
- Segnalazione HackerOne 272379
- Articolo sulla Fuga del Token di Ripristino Password
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']
. - Riferimenti:
- Articolo di Acunetix sull'Avvelenamento del Ripristino Password
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 &
POST /resetPassword
[...]
email=victim@email.com&email=attacker@email.com
- Aggiungi l'email dell'attaccante come secondo parametro utilizzando %20
POST /resetPassword
[...]
email=victim@email.com%20email=attacker@email.com
- Aggiungi l'email dell'attaccante come secondo parametro usando |
POST /resetPassword
[...]
email=victim@email.com|email=attacker@email.com
- Aggiungi l'email dell'attaccante come secondo parametro utilizzando cc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dcc:attacker@mail.tld"
- Aggiungi l'email dell'attaccante come secondo parametro utilizzando bcc
POST /resetPassword
[...]
email="victim@mail.tld%0a%0dbcc:attacker@mail.tld"
- Aggiungi l'email dell'attaccante come secondo parametro utilizzando ,
POST /resetPassword
[...]
email="victim@mail.tld",email="attacker@mail.tld"
- Aggiungi l'email dell'attaccante come secondo parametro nell'array json
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.
- Riferimenti:
- 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://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.
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.
- Riferimento:
- Preso completo dell'account tramite manipolazione dei parametri API
Nessun Limite di Frequenza: Bombardamento di Email
- 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.
- Riferimenti:
- Segnalazione HackerOne 280534
Scoprire Come Viene Generato il Token di Reset della Password
- 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à.
- 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 {% endcontent-ref %}
- Passi di Mitigazione:
- Utilizzare GUID versione 4 per la casualità o implementare misure di sicurezza aggiuntive per altre versioni.
- Strumenti: Utilizzare 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.
- Riferimento:
- Bug Critico in un Evento Live di Bug Bounty
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.
Riferimenti
Unisciti al server HackenProof Discord per comunicare con hacker esperti e cacciatori di bug bounty!
Approfondimenti sull'Hacking
Interagisci con contenuti che esplorano l'emozione e le sfide dell'hacking
Notizie sull'Hacking in Tempo Reale
Resta aggiornato sul mondo dell'hacking ad alta velocità attraverso notizie e approfondimenti in tempo reale
Ultime Novità
Resta informato sui nuovi bug bounty in arrivo e sugli aggiornamenti cruciali della piattaforma
Unisciti a noi su Discord e inizia a collaborare con i migliori hacker oggi stesso!