Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
forbidden — 4xx HTTP 응답 상태 코드 및 그 이상을 우회합니다. 이 도구는 Python Requests, PycURL 및 HTTP Client를 기반으로 합니다. | Kitploit
도구/GitHubGitHub/ivan-sincek/forbidden
Vulnerability ScannersIDS/IPS EvasionWeb Application ExploitationInformation GatheringWAF BypassWeb SecurityFuzzingPenetration Testing
GitHubivan-sincek/forbidden

forbidden

4xx HTTP 응답 상태 코드 및 그 이상을 우회합니다. 이 도구는 Python Requests, PycURL 및 HTTP Client를 기반으로 합니다.

저장소 보기
25748991년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Forbidden

4xx HTTP 응답 상태 코드 등을 우회합니다.

이 도구는 Python Requests, PycURL, HTTP Client를 기반으로 합니다.

Kali Linux v2024.2 (64-bit)에서 테스트되었습니다.

교육 목적으로 제작되었습니다. 도움이 되길 바랍니다!

향후 계획:

  • silent 옵션 추가 (콘솔 출력 숨김).
  • no color 옵션 추가 (컬러 콘솔 출력 비활성화).
  • hop-by-hop HTTP 요청 헤더 테스트 추가.
  • User-Agent HTTP 요청 헤더 테스트 추가.
  • HTTP 쿠키 테스트 추가.
  • HTTP 스머글링 테스트 추가.
  • CRLF 테스트 추가.
  • Log4j 테스트 추가.
  • AWS 메타데이터 SSRF 테스트 추가.

목차

  • 설치 방법
    • PycURL 설치
    • 표준 설치
    • 소스에서 빌드 및 설치
  • 사용 방법
  • 테스트
    • HTTP 메서드
    • HTTP 요청 헤더
  • 결과
  • 사용법
  • 이미지

설치 방법

PycURL 설치

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

  • IP 주소와 도메인 이름을 사용하여 HTTP 및 HTTPS 프로토콜을 테스트합니다.
  • IP 주소와 도메인 이름을 사용하여 Host HTTP 요청 헤더 없이 HTTP/1.0 프로토콜 다운그레이드를 테스트합니다.

methods

  • 허용된 HTTP 메서드를 테스트하며, Content-Length: 0 HTTP 요청 헤더도 함께 사용합니다.
  • HTTP TRACE 및 TRACK 메서드를 사용하여 Cross-Site Tracing (XST)을 테스트합니다.

uploads

  • HTTP PUT 메서드를 사용하여 URL 경로의 각 디렉토리에 대해 텍스트 파일 업로드를 재귀적으로 테스트합니다.

overrides

  • URL 쿼리 문자열 매개변수, HTTP 요청 헤더 및 HTTP 요청 본문을 사용하여 HTTP 메서드 오버라이드를 테스트합니다.
  • HTTP 요청 헤더를 사용하여 HTTPS에서 HTTP로, HTTP에서 HTTPS로 URL 스킴 오버라이드를 테스트합니다.
  • HTTP 요청 헤더를 사용하여 포트 오버라이드를 테스트합니다.
  • HTTP 요청 헤더를 사용하여 HTTP 호스트 오버라이드를 테스트하며, 두 개의 Host HTTP 요청 헤더도 함께 사용합니다.
  • 접근 가능한 URL, 루트 URL 및 전체 URL을 사용하여 상대 URL 경로로 HTTP 요청 헤더를 사용한 URL 경로 오버라이드를 테스트합니다.

headers

  • IP 주소, 쉼표로 구분된 IP 주소, 도메인 이름, 루트 URL, 전체 URL 등을 사용하여 HTTP 요청 헤더를 테스트합니다.

values

  • 사용자 제공 IP 주소, 도메인 이름, 루트 URL 및 전체 URL을 사용하여 HTTP 요청 헤더를 테스트합니다.

paths

  • URL 경로 우회를 테스트합니다.

encodings

  • URL 호스트 및 경로 변환 및 인코딩을 테스트합니다.

auths

  • null 값과 미리 정의된 Base64 인코딩 자격 증명을 사용하여 HTTP 요청 헤더로 기본 인증/권한 부여를 테스트합니다.
  • null 값, 잘못된 JWT 및 미리 정의된 JWT를 사용하여 HTTP 요청 헤더로 Bearer 인증/권한 부여를 테스트합니다.

redirects

  • 리디렉션 IP 주소, 도메인 이름, 루트 URL 및 전체 URL을 사용하여 HTTP 요청 헤더로 오픈 리디렉션을 테스트합니다.

parsers

  • 깨진 IP 주소, 도메인 이름, 루트 URL 및 전체 URL을 사용하여 HTTP 요청 헤더로 깨진 URL 파서를 테스트합니다.

더 자세한 내용은 다음을 참조하세요:

  • /src/forbidden/utils/forbidden.py
  • /src/forbidden/utils/test.py
  • /src/forbidden/utils/value.py

참고사항:

  • 모든 테스트는 공개된 정보보안 및 버그 바운티 보고서를 기반으로 합니다.
  • 일부 테스트는 중복되지만, 전송 전에 고유 필터가 적용됩니다.
  • 모든 HTTP 요청 헤더, URL 쿼리 문자열 매개변수 등은 공식 문서를 기반으로 검증되었습니다.
  • 기본적으로 Forbidden과 Stresser 모두 Python Requests 엔진을 사용합니다.
  • Host HTTP 요청 헤더 없이 HTTP/1.0 프로토콜 다운그레이드를 테스트하는 것은 HTTP Client 엔진으로 고정됩니다. 또한, 제공된 cURL 명령은 cURL이 Host HTTP 요청 헤더 제거를 허용하지 않으므로 제대로 작동하지 않습니다.
  • 두 개의 Host HTTP 요청 헤더를 사용한 HTTP 호스트 오버라이드 테스트는 Python Requests 엔진으로 고정됩니다. 또한, 제공된 cURL 명령은 cURL이 두 개의 Host HTTP 요청 헤더 사용을 허용하지 않으므로 제대로 작동하지 않습니다.
  • URL 호스트 및 경로 변환 및 인코딩 테스트는 PycURL 엔진으로 고정됩니다.
  • 일부 웹 프록시는 URL을 정규화하거나(encodings 테스트 시), HTTP 요청을 수정하거나, HTTP 요청을 완전히 드롭할 수 있습니다.
  • 일부 웹사이트는 유효하거나 매우 특정한 User-Agent HTTP 요청 헤더가 필요할 수 있습니다.
  • Cross-Site Tracing (XST)은 더 이상 취약점으로 간주되지 않습니다.
  • 속도 제한 및 기타 유사한 안티봇 보호에 주의하세요. 동일한 도메인에서 도구를 다시 실행하기 전에 시간을 두십시오.

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

HTTP 요청 헤더

이는 사용되는 내용에 대한 간략한 개요일 뿐, 사용 방법에 대한 설명은 아닙니다.

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 응답 상태 코드 오름차순, 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
   }
]

사용법

도구 다운로드