Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
waf-bypass — 자동화된 WAF 보안 테스트 도구로, SQLi, XSS, RCE, GraphQL 인젝션 등 15개 이상의 페이로드 카테고리를 사용하여 거짓 양성 및 거짓 음성을 탐지합니다. Docker, JSON 출력 및 사용자 정의 페이로드를 지원합니다. | Kitploit
도구/GitHubGitHub/nemesida-waf/waf-bypass
Vulnerability ScannersAPI Security TestingWAF BypassWeb SecurityPenetration Testing
GitHubnemesida-waf/waf-bypass

waf-bypass

자동화된 WAF 보안 테스트 도구로, SQLi, XSS, RCE, GraphQL 인젝션 등 15개 이상의 페이로드 카테고리를 사용하여 거짓 양성 및 거짓 음성을 탐지합니다. Docker, JSON 출력 및 사용자 정의 페이로드를 지원합니다.

저장소 보기
1.5k1851개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

WAF 우회 도구

WAF Bypass Tool은 사전 정의된 사용자 정의 가능한 페이로드를 사용하여 모든 WAF의 False Positive 및 False Negative에 대한 보안을 분석하는 오픈 소스 도구입니다. 공격자가 하기 전에 WAF를 확인하세요. WAF Bypass Tool은 커뮤니티의 참여로 Nemesida WAF 팀이 개발했습니다.

WAF Bypass Tool

불법적인 행위 금지

불법적인 목적으로 사용하는 것을 금지합니다. 법을 위반하지 마십시오. 이 소프트웨어 사용과 관련된 가능한 위험에 대해 당사는 책임을 지지 않습니다.

실행 방법

Docker를 사용하여 실행

최신 waf-bypass는 항상 Docker Hub에서 사용할 수 있습니다. 다음 명령어로 쉽게 가져올 수 있습니다:

root@kitploit:~
# docker pull nemesida/waf-bypass
# docker run nemesida/waf-bypass --host='example.com'

pipx를 사용하여 실행

root@kitploit:~
# pipx install git+https://github.com/nemesida-waf/waf-bypass.git
# <pipx bin dir>/waf-bypass

CLI를 사용하여 소스 코드에서 직접 실행

root@kitploit:~
# git clone https://github.com/nemesida-waf/waf_bypass.git /opt/waf-bypass/
# python3 -m pip install -r /opt/waf-bypass/requirements.txt
# python3 /opt/waf-bypass/main.py --host='example.com'

옵션

  • '--proxy' (--proxy='http://proxy.example.com:3128') - 호스트 대신 연결할 위치를 지정할 수 있는 옵션입니다.

  • '--header' (--header 'Authorization: Basic YWRtaW46YWRtaW4=' --header 'X-TOKEN: ABCDEF') - 모든 요청과 함께 보낼 HTTP 헤더를 지정할 수 있는 옵션입니다 (예: 인증용). 여러 번 사용할 수 있습니다.

  • '--user-agent' (--user-agent 'MyUserAgent 1/1') - 페이로드에 의해 User-Agent가 설정된 경우를 제외하고, 모든 요청과 함께 보낼 HTTP User-Agent를 지정할 수 있는 옵션입니다 ("USER-AGENT").

  • '--block-code' (--block-code='403' --block-code='222') - WAF가 차단될 때 예상되는 HTTP 상태 코드를 지정할 수 있는 옵션입니다. (기본값은 403). 여러 번 사용할 수 있습니다.

  • () - 병렬 스캔 스레드 수를 지정할 수 있는 옵션입니다 (기본값은 ).

JSON 형식

JSON 출력 명세 예시:

root@kitploit:~
{
  "TARGET": "https://example.com", // defined by --host option
  "PROXY": {},                     // defined by --proxy option
  "HEADERS": {                     // defined by --header option
    "User-Agent": ""
  },
  "BLOCK-CODE": [                  // defined by --block-code option
    ...
  ],
  "THREADS": 50,                   // defined by --threads option
  "TIMEOUT": 30,                   // defined by --timeout option
  "EXCLUDE-DIR": [                 // defined by --exclude-dir option
    ...
  ],
  "FAILED": {                      // requests with failed processing status
    "MFD/7.json": {
      "BODY": "WBHTTPSConnectionPool(host='example.com', port=443): Read timed out. (read timeout=1)"
    },
    ...
  },
  "PASSED": {                      // passed requests
    "UWA/3.json": {
      "URL": "403 RESPONSE CODE"
    },
    ...
  },
  "FALSED": {                      // requests with false positive processing status
    ...
  },
  "BYPASSED": {                    // requests with false negative processing status
    "UWA/26.json": {
      "URL": "200 RESPONSE CODE"
    },
    ...
  },
  "TestRequest": {                // test requests with processing status, exclude passed
    "FAILED": {},
    "FALSED": {
        "UWA/3.json": {
        "URL": "403 RESPONSE CODE"
        },
        ...
    }
    
  },
  "CURL": {                       // cURL command to reproduce false positive and false negative requests
    "FALSED": {},
    "BYPASSED": {
      "UWA/26.json": {
        "URL": "curl -X GET -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36' 'https://example.com/do.php#.png'"
      },
      ...
    }
  }
}

페이로드

목적에 따라 페이로드는 해당 폴더에 위치합니다:

  • FP - False Positive 페이로드
  • API - API 테스트 페이로드
  • CM - 사용자 정의 HTTP 메서드 페이로드
  • GraphQL - GraphQL 테스트 페이로드
  • LDAP - LDAP 인젝션 페이로드
  • LFI - 로컬 파일 포함 페이로드
  • MFD - multipart/form-data 페이로드
  • NoSQLi - NoSQL 인젝션 페이로드
  • OR - 오픈 리디렉트 페이로드
  • RCE - 원격 코드 실행 페이로드
  • RFI - 원격 파일 포함 페이로드
  • SQLi - SQL 인젝션 페이로드
  • SSI - 서버 사이드 인클루드 페이로드
  • SSRF - 서버 사이드 요청 위조 페이로드
  • SSTI - 서버 사이드 템플릿 인젝션 페이로드
  • UWA - 원치 않는 접근 페이로드
  • XSS - 크로스 사이트 스크립팅 페이로드

자신만의 페이로드 작성하기

페이로드를 작성할 때 다음 영역, 메서드 및 옵션이 사용됩니다:

  • URL - 요청 경로
  • ARGS - 요청 쿼리
  • BODY - 요청 본문
  • COOKIE - 요청 쿠키
  • USER-AGENT - 요청의 User-Agent
  • REFERER - 요청의 Referer
  • HEADER - 요청 헤더
  • METHOD - 요청 메서드
  • BOUNDARY - 요청 boundary의 내용을 지정합니다. MFD 디렉터리의 페이로드에만 적용 가능합니다.
  • ENCODE - 페이로드 인코딩 유형을 지정합니다 (Base64, HTML-ENTITY, UTF-16). 여러 값은 공백으로 구분하여 표시합니다 (예: Base64 UTF-16). ARGS, BODY, COOKIE 및 HEADER 영역에만 적용 가능합니다. API 및 MFD 디렉터리의 페이로드에는 적용되지 않습니다. JSON 옵션과 호환되지 않습니다.
  • JSON - 요청 본문이 JSON 형식이어야 함을 지정합니다
  • BLOCKED - 요청이 차단되어야 하는지(FN 테스트) 여부를 지정합니다(FP)

아래 설명된 몇 가지 경우를 제외하고, 영역은 서로 독립적이며 개별적으로 테스트됩니다. (즉, 2개의 영역이 지정되면 스크립트는 2개의 요청을 보내며, 하나와 두 번째 영역을 번갈아 확인합니다.)

영역에는 %RND% 접미사를 사용할 수 있으며, 이를 통해 6자리 임의의 문자열(영문자와 숫자)을 생성할 수 있습니다. (예: param%RND=my_payload 또는 param=%RND% OR A%RND%B)

자신만의 페이로드를 만들 수 있습니다. 이를 위해 '/payload/' 폴더에 자신의 폴더를 생성하거나 기존 폴더에 페이로드를 배치하세요 (예: '/payload/XSS'). 허용되는 데이터 형식은 JSON입니다.

API 디렉터리

이 디렉터리에 있는 API 테스트 페이로드에는 자동으로 'Content-Type: application/json' 헤더가 추가됩니다.

MFD 디렉터리

이 디렉터리에 있는 MFD(multipart/form-data) 페이로드의 경우 BODY(필수)와 BOUNDARY(선택 사항)를 지정해야 합니다. BOUNDARY가 설정되지 않은 경우 자동으로 생성됩니다 (이 경우 추가 데이터 없이 ('... Content-Disposition: form-data; ...') BODY에 페이로드만 지정하면 됩니다).

BOUNDARY가 지정된 경우 BODY의 내용은 RFC에 따라 형식화되어야 하지만, 이를 통해 BOUNDARY로 구분된 BODY 내 여러 페이로드를 사용할 수 있습니다.

이 디렉터리에서는 다른 영역도 허용됩니다 (예: URL, ARGS 등). 영역과 관계없이 'Content-Type: multipart/form-data; boundary=...' 헤더가 모든 요청에 추가됩니다.

도구 다운로드
'--threads'
--threads=15
10
  • '--timeout' (--timeout=10) - 요청 처리 제한 시간(초)을 지정할 수 있는 옵션입니다. (기본값은 30).

  • '--exclude-dir' - 페이로드 디렉터리를 제외합니다 (--exclude-dir='SQLi,XSS').

  • '--json-format' - 작업 결과를 JSON 형식으로 표시할 수 있는 옵션입니다 (보안 플랫폼과 도구를 통합하는 데 유용). 이 옵션을 지정하지 않으면 출력은 표 형식(기본 형식)으로 표시됩니다.

  • '--details' - False Positive 및 False Negative 페이로드를 표시합니다. --json-format 옵션과 호환되지 않습니다.

  • '--no-progress' - 진행률 표시줄을 표시하지 않습니다.

  • '--curl-replay' - False Positive, False Negative 또는 실패한 요청을 재현하는 cURL 명령어를 표시합니다. --json-format 옵션과 호환되지 않습니다.