Rate Limit Bypass

Reading time: 4 minutes

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

Tecniche di bypass del limite di velocità

Esplorare Endpoint Simili

Dovrebbero essere effettuati tentativi di attacchi brute force su variazioni dell'endpoint mirato, come /api/v3/sign-up, inclusi alternativi come /Sing-up, /SignUp, /singup, /api/v1/sign-up, /api/sign-up ecc.

Incorporare Caratteri Vuoti nel Codice o nei Parametri

Inserire byte vuoti come %00, %0d%0a, %0d, %0a, %09, %0C, %20 nel codice o nei parametri può essere una strategia utile. Ad esempio, modificare un parametro in code=1234%0a consente di estendere i tentativi attraverso variazioni nell'input, come aggiungere caratteri di nuova riga a un indirizzo email per aggirare le limitazioni dei tentativi.

Manipolare l'Origine IP tramite Intestazioni

Modificare le intestazioni per alterare l'origine IP percepita può aiutare a eludere il limite di velocità basato su IP. Intestazioni come X-Originating-IP, X-Forwarded-For, X-Remote-IP, X-Remote-Addr, X-Client-IP, X-Host, X-Forwared-Host, inclusa l'uso di più istanze di X-Forwarded-For, possono essere modificate per simulare richieste da IP diversi.

bash
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-Client-IP: 127.0.0.1
X-Host: 127.0.0.1
X-Forwared-Host: 127.0.0.1

# Double X-Forwarded-For header example
X-Forwarded-For:
X-Forwarded-For: 127.0.0.1

Modifica di Altri Header

È consigliato alterare altri header di richiesta come l'user-agent e i cookie, poiché questi possono essere utilizzati per identificare e tracciare i modelli di richiesta. Cambiare questi header può prevenire il riconoscimento e il tracciamento delle attività del richiedente.

Sfruttare il Comportamento dell'API Gateway

Alcuni API gateway sono configurati per applicare il rate limiting in base alla combinazione di endpoint e parametri. Variando i valori dei parametri o aggiungendo parametri non significativi alla richiesta, è possibile eludere la logica di rate limiting del gateway, facendo apparire ogni richiesta come unica. Ad esempio /resetpwd?someparam=1.

Accedere al Tuo Account Prima di Ogni Tentativo

Accedere a un account prima di ogni tentativo, o di ogni serie di tentativi, potrebbe resettare il contatore del rate limit. Questo è particolarmente utile quando si testano le funzionalità di login. Utilizzare un attacco Pitchfork in strumenti come Burp Suite, per ruotare le credenziali ogni pochi tentativi e assicurarsi che i reindirizzamenti siano contrassegnati, può effettivamente riavviare i contatori del rate limit.

Utilizzare Reti Proxy

Distribuire una rete di proxy per distribuire le richieste su più indirizzi IP può efficacemente eludere i limiti di rate basati su IP. Instradando il traffico attraverso vari proxy, ogni richiesta sembra provenire da una fonte diversa, diluendo l'efficacia del rate limit.

Suddividere l'Attacco tra Diversi Account o Sessioni

Se il sistema target applica limiti di rate su base per-account o per-sessione, distribuire l'attacco o il test su più account o sessioni può aiutare a evitare il rilevamento. Questo approccio richiede la gestione di più identità o token di sessione, ma può distribuire efficacemente il carico per rimanere entro i limiti consentiti.

Continua a Provare

Nota che anche se è in atto un rate limit dovresti provare a vedere se la risposta è diversa quando viene inviato l'OTP valido. In questo post, il bug hunter ha scoperto che anche se un rate limit viene attivato dopo 20 tentativi non riusciti rispondendo con 401, se quello valido veniva inviato, si riceveva una risposta 200.

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks