Ominięcie limitu szybkości

Reading time: 4 minutes

tip

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

Wsparcie HackTricks

Techniki omijania limitu szybkości

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 itp.

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

Modyfikowanie nagłówków w celu zmiany postrzeganego pochodzenia IP może pomóc w uniknięciu limitowania szybkości opartego 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żdą Próba

Logowanie się do konta przed każdą próbą lub każdą serią 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 logowania co kilka prób i upewnić się, że przekierowania są oznaczone, może skutecznie zresetować 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ć zobaczyć, 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.

tip

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

Wsparcie HackTricks