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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Imperva_gzip_WAF_Bypass — Imperva Cloud WAF 우회를 위한 익스플로잇으로, gzip Content-Encoding 헤더를 사용하여 HTTP POST 요청의 WAF 규칙을 회피합니다. 탐지 스크립트와 수동 테스트 절차를 포함합니다. | Kitploit
도구/GitHubGitHub/bishopfox/imperva_gzip_waf_bypass
Vulnerability AnalysisIDS/IPS EvasionWeb Application ExploitationWAF BypassPenetration Testing
GitHubbishopfox/imperva_gzip_waf_bypass

Imperva_gzip_WAF_Bypass

Imperva Cloud WAF 우회를 위한 익스플로잇으로, gzip Content-Encoding 헤더를 사용하여 HTTP POST 요청의 WAF 규칙을 회피합니다. 탐지 스크립트와 수동 테스트 절차를 포함합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
168294년 전Kitploit 검토 완료

Imperva 웹 애플리케이션 방화벽(WAF) POST 요청 우회

Imperva Cloud WAF에는 공격자가 log4j 악용, SQL 인젝션, 명령 실행, 디렉터리 탐색, XXE 등과 같은 악성 HTTP POST 페이로드를 전송할 때 WAF 규칙을 우회할 수 있게 하는 우회 취약점이 있었습니다.

해결 방법

Imperva 팀은 이 문제가 보고된 순간부터 매우 진지하게 받아들였으며, 단 며칠 만에 전역 수정을 완료했습니다. 정말 대단합니다. Cloud WAF의 모든 고객은 2021년 12월 22일 기준으로 자동 패치되었습니다. Imperva는 협업하기에 훌륭했으며, 성숙하고 숙련되고 유능한 보안 팀을 보유하고 있음이 분명합니다.

악용 방법

HTTP POST 요청에 Content-Encoding: gzip 헤더를 추가합니다. POST 데이터는 그대로 두고 인코딩하지 마세요. Content-Encoding 헤더의 첫 4바이트가 gzip인 한, POST 요청에는 WAF 규칙이 적용되지 않습니다.

Burp에서 프록시의 Match & Replace 기능을 사용하여 이 작업을 수행할 수 있습니다:

다음과 같이 새 헤더를 추가합니다:

그게 전부입니다. 이제 사용할 수 있습니다.

테스트 스크립트 실행

다음과 같이 POST 요청을 지원하는 URL에 대해 imperva_gzip.py를 실행합니다:

구문: ./imperva_gzip.py [[-t] | [-r]] URL

주어진 URL에 대한 WAF 유형을 추측합니다:

root@kitploit:~
$ ./imperva_gzip.py -t https://www.vulnerable.com/search
Imperva Incapsula
$ ./imperva_gzip.py -t https://www.wordpress-user.com/login
WordFence
$ ./imperva_gzip.py -t https://www.cloudflare-customer.com
Cloudflare

WAF가 gzip 우회에 취약한지 확인합니다:

root@kitploit:~
$ ./imperva_gzip.py https://www.vulnerable.com/search
[+] Can we make POST requests to https://www.vulnerable.com/search?
[+] Checking for Imperva WAF...
[+] Attempting gzip bypass for UNIX trigger...
[+] Vulnerable! HTTP response code: 200
[+] Attempting gzip bypass for Windows trigger...
[+] Vulnerable! HTTP response code: 200

다음과 같은 오류가 발생하면:

root@kitploit:~
$ ./imperva_gzip.py https://www.vulnerable.com/search
[+] Can we make POST requests to https://www.vulnerable.com/search?
[!] Can't POST to https://www.vulnerable.com/search. Try -r if 30x redirects are allowed. HTTP response code: 302

명령줄에 -r을 전달하여 완화 모드(relaxed mode)를 활성화해 보세요. 완화 모드는 기본적으로 꺼져 있으며, 이는 POST 요청이 서버로부터 HTTP 200 응답을 받을 것으로 예상된다는 뜻입니다. -r은 허용되는 응답을 HTTP 2xx, 3xx로 확장합니다.

스크립팅

imperva_gzip.py의 종료 코드는 다음과 같습니다:

root@kitploit:~
0: Returned after getting WAF type.
1: Command-line was invalid.
2: There was an error connecting. Could be DNS error, timeout, etc.
3: No WAF was detected; malicious UNIX/Windows payloads weren't blocked.
4: A WAF was detected, but it wasn't Imperva.
5: The server responded to a test POST request with something other than HTTP 200.
128: There is an Imperva WAF, but it is not vulnerable to the gzip bypass.
129: The bypass was effective for the UNIX payload, but not the Windows one.
130: The bypass was effective for the Windows payload, but not the UNIX one.
131: The bypass was effective against both Windows and UNIX payloads.

취약점 수동 테스트 절차

세 개의 POST 요청을 보냅니다:

  1. 유효하지만 무해한 POST 요청으로 기준이 되는 POST 요청/응답을 설정합니다.
  2. 동일한 POST 요청을 사용하되 본문에 &test=../../../../../../../etc/shadow와 같은 추가 “악성” 데이터를 포함하여 Imperva WAF를 트리거하고, Imperva가 이를 차단하는지 확인합니다.
  3. 동일한 악성 요청에 Content-Encoding: gzip 헤더를 추가하고 Imperva가 이를 차단하지 않는지 확인합니다.

기타 인코딩

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding 에 따르면, Content-Encoding 헤더에는 네 가지 유효한 값이 있습니다:

  • compress
  • deflate
  • gzip
  • br

테스트 결과, gzip만 우회로 작동했습니다.

영향을 받는 버전

Imperva Cloud WAF

Cloud WAF는 Imperva가 관리합니다. 그 결과, Cloud WAF 업데이트는 거의 모든 고객에게 거의 동시에 적용됩니다. 2021년 12월 22일 기준으로 모든 고객에게 패치가 적용되었습니다.

SecureSphere

gzip 우회 버그는 SecureSphere라는 별도의 Imperva 제품에서 해결되었습니다. SecureSphere v12.6 릴리스 노트에는 다음 문단이 포함되어 있습니다:

SPHR-58185: SecureSphere가 "Content-Encoding: gzip/deflate" 헤더가 있는 요청에서 POST 본문 압축 해제에 실패하면 경고를 발행하지 않고 요청을 통과시켰습니다.

이것은 Cloud WAF와 동일한 코드 계보를 가진 동일한 버그라고 확신합니다... 두 제품에 존재하기에는 상당히 특정한 버그입니다. 이 문제는 2021년 2월 SecureSphere에서 해결되었지만, 언제 도입되었는지는 알 수 없습니다. 이 취약점이 수년 동안 존재해 왔을 가능성이 있습니다!

연락처

Bishop Fox

  • 저자: @carllivitt @bishopfox
  • 공격형 보안(Offensive Security): Bishop Fox
  • 지속적 공격형 보안(Continuous Offensive Security): Bishop Fox Cosmos
  • 매드 사이언티스트(Mad Scientists): Bishop Fox Labs

Imperva

Imperva 고객 지원: https://www.imperva.com/support/technical-support/

참고 자료

  • Imperva Cloud WAF
  • Imperva SecureSphere 12.6 릴리스 노트
  • Content-Encoding HTTP 헤더
도구 다운로드