Rate Limit Bypass

Reading time: 5 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

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 sui 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ò eludere efficacemente i limiti di rate basati su IP. Instradando il traffico attraverso vari proxy, ogni richiesta appare 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 cacciatore di bug 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.

Strumenti

  • https://github.com/Hashtag-AMIN/hashtag-fuzz: hashtag-fuzz è uno strumento di fuzzing progettato per testare e eludere WAF e CDN. Sfruttando funzionalità avanzate come User-Agent e valori di header casuali, ritardi casuali, gestione del multi-threading, suddivisione selettiva delle wordlist e rotazione proxy Round Robin per ogni chunk, offre una soluzione robusta per i professionisti della sicurezza che mirano a identificare vulnerabilità nelle applicazioni web.

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks