Rate Limit Bypass

Reading time: 4 minutes

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Techniki omijania limitów

Badanie podobnych punktów końcowych

Należy podjąć próby przeprowadzenia ataków brute force na warianty docelowego punktu końcowego, takie jak /api/v3/sign-up, w tym alternatywy takie jak /Sing-up, /SignUp, /singup, /api/v1/sign-up, /api/sign-up itd.

Wprowadzanie pustych znaków w kodzie lub parametrach

Wstawianie pustych bajtów, takich jak %00, %0d%0a, %0d, %0a, %09, %0C, %20 do kodu lub parametrów może być użyteczną strategią. Na przykład, dostosowanie parametru do code=1234%0a pozwala na rozszerzenie prób poprzez wariacje w wejściu, takie jak dodawanie znaków nowej linii do adresu e-mail, aby obejść ograniczenia prób.

Manipulowanie pochodzeniem IP za pomocą nagłówków

Modyfikacja nagłówków w celu zmiany postrzeganego pochodzenia IP może pomóc w ominięciu limitów opartych na IP. Nagłówki takie jak X-Originating-IP, X-Forwarded-For, X-Remote-IP, X-Remote-Addr, X-Client-IP, X-Host, X-Forwared-Host, w tym użycie wielu instancji X-Forwarded-For, mogą być dostosowane w celu symulacji żądań z różnych adresów IP.

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

Zmiana Innych Nagłówków

Zaleca się modyfikację innych nagłówków żądania, takich jak user-agent i ciasteczka, ponieważ mogą one być również używane do identyfikacji i śledzenia wzorców żądań. Zmiana tych nagłówków może zapobiec rozpoznawaniu i śledzeniu działań osoby składającej żądanie.

Wykorzystanie Zachowania API Gateway

Niektóre bramy API są skonfigurowane do stosowania limitów na podstawie kombinacji punktu końcowego i parametrów. Zmienianie wartości parametrów lub dodawanie nieistotnych parametrów do żądania może umożliwić obejście logiki limitowania bramy, sprawiając, że każde żądanie wydaje się unikalne. Na przykład /resetpwd?someparam=1.

Logowanie się do Konta Przed Każdym Próbą

Logowanie się do konta przed każdą próbą lub każdym zestawem prób może zresetować licznik limitu. Jest to szczególnie przydatne podczas testowania funkcji logowania. Wykorzystanie ataku Pitchfork w narzędziach takich jak Burp Suite, aby rotować dane uwierzytelniające co kilka prób i upewnić się, że przekierowania są oznaczone, może skutecznie zrestartować liczniki limitu.

Wykorzystanie Sieci Proxy

Wdrożenie sieci proxy do rozdzielania żądań na wiele adresów IP może skutecznie obejść limity oparte na IP. Przez kierowanie ruchu przez różne proxy, każde żądanie wydaje się pochodzić z innego źródła, osłabiając skuteczność limitu.

Podział Ataku na Różne Konta lub Sesje

Jeśli system docelowy stosuje limity na poziomie konta lub sesji, rozdzielenie ataku lub testu na wiele kont lub sesji może pomóc w uniknięciu wykrycia. Podejście to wymaga zarządzania wieloma tożsamościami lub tokenami sesji, ale może skutecznie rozłożyć obciążenie, aby pozostać w dozwolonych limitach.

Kontynuuj Próby

Zauważ, że nawet jeśli limit jest wprowadzony, powinieneś spróbować sprawdzić, czy odpowiedź jest inna, gdy wysłany jest ważny OTP. W tym poście, łowca błędów odkrył, że nawet jeśli limit jest wyzwolony po 20 nieudanych próbach, odpowiadając z 401, jeśli wysłano ważny, otrzymano odpowiedź 200.

Narzędzia

  • https://github.com/Hashtag-AMIN/hashtag-fuzz: hashtag-fuzz to narzędzie do fuzzingu zaprojektowane do testowania i omijania WAF-ów i CDN-ów. Wykorzystując zaawansowane funkcje, takie jak losowy User-Agent i wartość nagłówka, losowe opóźnienia, obsługę wielowątkowości, selektywne dzielenie list słów i rotację proxy Round Robin dla każdego podzielonego, oferuje solidne rozwiązanie dla profesjonalistów zajmujących się bezpieczeństwem, którzy dążą do identyfikacji luk w aplikacjach internetowych.

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks