
Обход 4xx HTTP response status codes и другое. Инструмент основан на Python Requests, PycURL и HTTP Client.
Обход кодов состояния HTTP 4xx и не только.
Инструмент основан на Python Requests, PycURL и HTTP Client.
Протестировано на Kali Linux v2024.2 (64-bit).
Сделано в образовательных целях. Надеюсь, это поможет!
Планы на будущее:
silent для подавления вывода в консоль.no color для отключения цветного вывода в консоль.User-Agent.В Kali Linux это должно работать без проблем; в противном случае выполните:
apt-get -y install libcurl4-gnutls-dev librtmp-dev
pip3 install --upgrade pycurl
PycURL на Windows не поддерживается.
На macOS выполните:
brew uninstall curl
brew uninstall openssl
brew install curl
brew install openssl
echo 'export PATH="/opt/homebrew/opt/curl/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
export LDFLAGS="-L/opt/homebrew/opt/curl/lib"
export CPPFLAGS="-I/opt/homebrew/opt/curl/include"
export PYCURL_SSL_LIBRARY=openssl
pip3 install --no-cache-dir --compile --ignore-installed --config-setting="--with-openssl=" --config-setting="--openssl-dir=/opt/homebrew/opt/openssl@3" pycurl
Также можно установить через Homebrew (не поддерживается мной):
brew install forbidden
pip3 install --upgrade forbidden
git clone https://github.com/ivan-sincek/forbidden && cd forbidden
python3 -m pip install --upgrade build
python3 -m build
python3 -m pip install dist/forbidden-13.4-py3-none-any.whl
Обход кода состояния HTTP 403 Forbidden:
forbidden -u https://example.com/admin -t protocols,methods,uploads,overrides,headers,paths-ram,encodings -f GET -l initial,path -o forbidden_403_results.json
Обход кода состояния HTTP 403 Forbidden с нагрузочным тестированием:
mkdir stresser_403_results
stresser -u https://example.com/admin -r 1000 -th 200 -f GET -l initial -dir stresser_403_results -o stresser_403_results.json
Обход кода состояния HTTP 401 Unauthorized:
forbidden -u https://example.com/admin -t auths -f GET -l initial -o forbidden_401_results.json
Тест на открытые редиректы и сломанные парсеры URL, т.е. проверка out-of-band (OOB) взаимодействий:
forbidden -u https://example.com/admin -t redirects,parsers -f GET -l initial -e xyz.interact.sh -o forbidden_oob_results.json
protocols
Host HTTP-запроса, с использованием IP-адреса и доменного имени.methods
Content-Length: 0.uploads
overrides
Host.headers
values
paths
encodings
auths
redirects
parsers
Если вас интересуют дополнительные детали, смотрите:
Замечания:
уникальный фильтр.Forbidden, и Stresser используют движок Python Requests.Host привязан к движку HTTP Client. Кроме того, указанная команда cURL не будет работать корректно, потому что cURL не позволяет удалить заголовок Host.Host привязан к движку Python Requests. Кроме того, указанная команда cURL не будет работать корректно, потому что cURL не позволяет использовать два заголовка Host.PycURL.нормализовывать URL (например, при тестировании encodings), изменять HTTP-запросы или полностью отбрасывать их.User-Agent.ограничения частоты запросов и других подобных антибот-защит; делайте паузу перед повторным запуском инструмента на том же домене.Это лишь краткий обзор того, что используется, но не того, как используется.
ACL
ARBITRARY
BASELINE-CONTROL
BIND
CHECKIN
CHECKOUT
CONNECT
COPY
DELETE
GET
HEAD
INDEX
LABEL
LINK
LOCK
MERGE
MKACTIVITY
MKCALENDAR
MKCOL
MKREDIRECTREF
MKWORKSPACE
MOVE
OPTIONS
ORDERPATCH
PATCH
POST
PRI
PROPFIND
PROPPATCH
PUT
REBIND
REPORT
SEARCH
SHOWMETHOD
SPACEJUMP
TEXTSEARCH
TRACE
TRACK
UNBIND
UNCHECKOUT
UNLINK
UNLOCK
UPDATE
UPDATEREDIRECTREF
VERSION-CONTROL
Это лишь краткий обзор того, что используется, но не того, как используется.