hacktricks/pentesting-web/rate-limit-bypass.md

4.9 KiB

Ominięcie limitu szybkości


Użyj Trickest do łatwego tworzenia i automatyzacji prac przy użyciu najbardziej zaawansowanych narzędzi społecznościowych na świecie.
Otrzymaj dostęp już dziś:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Zacznij od zera i zostań ekspertem AWS z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Techniki ominięcia limitu szybkości

Badanie podobnych punktów końcowych

Należy próbować przeprowadzić ataki brute force na warianty docelowego punktu końcowego, takie jak /api/v3/sign-up, włączając alternatywy jak /Sing-up, /SignUp, /singup, /api/v1/sign-up, /api/sign-up itp.

Włączenie pustych znaków w kodzie lub parametrach

Wstawianie pustych bajtów jak %00, %0d%0a, %0d, %0a, %09, %0C, %20 do kodu lub parametrów może być przydatną strategią. Na przykład dostosowanie parametru do code=1234%0a pozwala na rozszerzenie prób poprzez zmiany w danych wejściowych, takie jak dodawanie znaków nowej linii do adresu e-mail w celu obejścia ograniczeń prób.

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

Modyfikowanie nagłówków w celu zmiany postrzeganego pochodzenia IP może pomóc uniknąć limitów szybkości 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łączając używanie wielu instancji X-Forwarded-For, mogą być dostosowane do symulowania żądań z różnych IP.

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ę zmianę innych nagłówków żądania, takich jak user-agent i ciasteczka, ponieważ mogą one również służyć do identyfikowania i śledzenia wzorców żądań. Zmiana tych nagłówków może zapobiec rozpoznawaniu i śledzeniu działań osoby wysyłającej żądania.

Wykorzystanie zachowania bramy API

Niektóre bramy API są skonfigurowane do stosowania ograniczeń szybkości na podstawie kombinacji punktu końcowego i parametrów. Poprzez zmianę wartości parametrów lub dodanie nieważnych parametrów do żądania, można obejść logikę ograniczania szybkości bramy, sprawiając, że każde żądanie wydaje się unikalne. Na przykład /resetpwd?someparam=1.

Logowanie się do konta przed każdą próbą

Zalogowanie się do konta przed każdą próbą lub co jakiś czas może zresetować licznik ograniczeń szybkości. Jest to szczególnie przydatne podczas testowania funkcji logowania. Wykorzystanie ataku Pitchfork w narzędziach takich jak Burp Suite, aby rotować poświadczenia co kilka prób i upewnienie się, że przekierowania są zaznaczone, może skutecznie zrestartować liczniki ograniczeń szybkości.

Wykorzystanie sieci proxy

Wdrożenie sieci proxy do rozprowadzania żądań na wiele adresów IP może skutecznie obejść ograniczenia szybkości oparte na adresach IP. Poprzez kierowanie ruchu przez różne proksy, każde żądanie wydaje się pochodzić z innego źródła, co osłabia skuteczność ograniczenia szybkości.

Rozłożenie ataku na różne konta lub sesje

Jeśli system docelowy stosuje ograniczenia szybkości na zasadzie na konto lub sesję, rozłożenie ataku lub testu na wiele kont lub sesji może pomóc uniknąć wykrycia. Ten sposób wymaga zarządzania wieloma tożsamościami lub tokenami sesji, ale może skutecznie rozłożyć obciążenie, aby pozostać w dopuszczalnych limitach.