Rate Limit Bypass
Last updated
Last updated
Usa Trickest per costruire e automatizzare flussi di lavoro alimentati dagli strumenti della comunità più avanzati al mondo. Accedi oggi:
Dovrebbero essere effettuati tentativi di attacchi brute force su variazioni dell'endpoint mirato, come /api/v3/sign-up
, includendo alternative come /Sing-up
, /SignUp
, /singup
, /api/v1/sign-up
, /api/sign-up
ecc.
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.
Modificare le intestazioni per alterare l'origine IP percepita può aiutare a eludere il rate limiting 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.
È consigliato alterare altre intestazioni di richiesta come l'user-agent e i cookie, poiché queste possono essere utilizzate per identificare e tracciare i modelli di richiesta. Cambiare queste intestazioni può prevenire il riconoscimento e il tracciamento delle attività del richiedente.
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 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.
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.
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.
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.
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)