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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-57821-PoC-Exploit — 🔐 CVE-2026-57821 - Apache Fineract SQL 인젝션 툴킷 📚 승인된 보안 테스트를 위한 두 개의 Python 스크립트: verifier.py(안전한 탐지, 추출 없음) 및 exploit.py(심층 분석). 11가지 DB 유형을 지원합니다. SQL 인젝션 취약점을 이해하는 데 완벽합니다. 합법적인 테스트만 ⚠️ 교육 및 연구 목적으로만 사용하세요. | Kitploit
도구/GitHubGitHub/tc4dy/cve-2026-57821-poc-exploit
Static AnalysisVulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationDatabase Security

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
tc4dy/cve-2026-57821-poc-exploit

CVE-2026-57821-PoC-Exploit

🔐 CVE-2026-57821 - Apache Fineract SQL 인젝션 툴킷 📚 승인된 보안 테스트를 위한 두 개의 Python 스크립트: verifier.py(안전한 탐지, 추출 없음) 및 exploit.py(심층 분석). 11가지 DB 유형을 지원합니다. SQL 인젝션 취약점을 이해하는 데 완벽합니다. 합법적인 테스트만 ⚠️ 교육 및 연구 목적으로만 사용하세요.

저장소 보기
3406일 전아직 검토되지 않음

CVE-Picture

CVE-2026-57821 – Apache Fineract SQL 인젝션

법적 및 윤리적 고지
이 툴킷은 교육, 훈련 및 승인된 보안 테스트 목적으로만 제공됩니다.
명시적인 서면 허가 없이 모든 시스템에 대해 무단으로 사용하는 것은 불법이며 컴퓨터 범죄법을 위반합니다.
작성자는 오용이나 손해에 대해 어떠한 책임도 지지 않습니다.
귀하의 행동에 대한 책임은 전적으로 귀하에게 있습니다.


취약점 개요

CVE-2026-57821은 Apache Fineract의 사무소 목록 API 엔드포인트에서 발견된 SQL 인젝션 취약점입니다.

영향받는 구성 요소

속성세부 정보
엔드포인트/api/v1/offices
매개변수orderBy
메서드GET
인증 필요 여부예 (인증된 사용자만)
영향받는 버전Apache Fineract ≤ 1.14.0
패치된 버전Apache Fineract 1.15.0

동작 방식

이 취약점은 orderBy 매개변수가 적절한 정제 없이 SQL 쿼리에 직접 삽입되기 때문에 존재합니다. 유효한 자격 증명을 가진 공격자는 괄호 ()로 감싼 서브쿼리를 orderBy 매개변수에 주입할 수 있습니다.

이것이 이전 수정 사항을 우회하는 이유:

  • CVE-2024-32838은 ORDER BY 절을 정제하기 위해 ColumnValidator를 도입했습니다
  • 이 검증기는 괄호 안의 베어 서브쿼리를 탐지하지 못합니다
  • 이를 통해 ORDER BY 컨텍스트 내에서 임의의 SQL 실행이 가능해집니다

공격 벡터 예시:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

잠재적 영향

영향설명
데이터 유출시간 기반 블라인드 SQL 인젝션으로 민감한 데이터베이스 내용을 추출할 수 있음
서비스 거부과도한 쿼리로 연결 풀 리소스가 고갈될 수 있음
정보 노출오류 기반 기법으로 데이터베이스 구조와 데이터를 노출할 수 있음

발견 및 공개

속성세부 정보
발견자 / 보고자Terence Monteiro (Apache Fineract 팀)
공개 날짜2026년 7월 14일
패치된 버전Apache Fineract 1.15.0
공식 발표Apache 메일링 리스트
GitHub 수정PR #6048

지원되는 데이터베이스 시스템

이 툴킷은 11개의 서로 다른 데이터베이스 백엔드에 대해 익스플로잇 기법을 자동으로 탐지하고 적용합니다:

데이터베이스탐지 방법익스플로잇 기법
PostgreSQL시간 기반 (pg_sleep)시간 기반 블라인드
MySQL시간 기반 (SLEEP)시간 기반 블라인드
MariaDB시간 기반 + @@version_comment시간 기반 블라인드
MSSQL오류 기반 (CONVERT 실패)오류 기반
Oracle시간 기반 (DBMS_LOCK.SLEEP)시간 기반 블라인드
SQLite과도한 쿼리 (카티션 조인)시간 기반 (과도한 쿼리)
Firebird과도한 쿼리 (카티션 조인)시간 기반 (과도한 쿼리)
DB2과도한 쿼리 (카티션 조인)시간 기반 (과도한 쿼리)
Informix과도한 쿼리 (카티션 조인)시간 기반 (과도한 쿼리)
H2과도한 쿼리 (카티션 조인)시간 기반 (과도한 쿼리)
알 수 없음 (일반)PostgreSQL로 폴백시간 기반

툴킷 구성 요소

이 프로젝트는 서로 다른 보안 평가 시나리오를 위한 두 개의 Python 스크립트를 제공합니다:

verifier.py – 안전하고 최소한의 검증 도구

목적: 데이터를 추출하지 않고 취약점 존재 여부를 신속하게 입증합니다.

수행 작업:

  • 데이터베이스별 테스트 페이로드를 전송합니다
  • 시간 지연 또는 오류 메시지를 탐지합니다
  • 각 데이터베이스 유형에 대해 VULNERABLE 또는 NOT VULNERABLE을 보고합니다
  • 어떤 데이터도 유출하지 않습니다

장점:

  • 매우 빠름 (몇 초 내에 완료)
  • 낮은 법적 위험 (존재 여부만 검증)
  • 초기 보안 스캐닝에 이상적
  • 규정 준수를 위한 보고서 친화적 출력

사용 사례: 대상이 취약한지 판단하기 위한 1차 평가.

exploit.py – 종합 보안 분석기

목적: 취약점을 완전히 활용하여 데이터베이스 정보를 추출합니다.

수행 작업:

  • 데이터베이스 유형을 자동으로 감지
  • 이진 탐색을 사용하여 문자 단위로 추출
  • 검색 항목: 버전, 현재 사용자, 데이터베이스 이름, 테이블 목록 (구성 가능)
  • MSSQL: 오류 기반 추출
  • 기타: 기준선 보정을 통한 시간 기반 추출

장점:

  • 영향에 대한 구체적인 증거를 제공
  • 취약점의 전체 범위를 입증
  • 색상으로 구분된 출력과 상세 로깅

사용 사례: 취약점 확인 후 심층 보안 분석.

주요 차이점: verifierPoC.py는 취약한지 여부를 알려주고, exploit.py는 무엇을 추출할 수 있는지 보여줍니다. 두 도구는 보안 평가 워크플로에서 서로 다르지만 상호 보완적인 역할을 합니다.


설치 및 구성

사전 요구 사항

  • Python 3.6+
  • requests 라이브러리
pip install requests

구성 변수

두 스크립트 상단에서 다음 변수를 편집하십시오:

변수설명기본값
TARGETFineract API URLhttp://localhost:8080/fineract-provider/api/v1/offices
USERNAMEAPI 인증 사용자 이름mifos
PASSWORDAPI 인증 비밀번호password
TENANT_ID테넌트 식별자default
BASE_SLEEP시간 기반 테스트의 대기 시간 (exploit.py)6
SLEEP_SECONDS시간 기반 테스트의 대기 시간 (verifier.py)5
TIMEOUTHTTP 요청 타임아웃25 (exploit) / 15 (verifier)
MAX_RETRIES실패한 요청의 재시도 횟수2

사용 가이드

exploit.py - 심층 스캔

python3 exploit.py

예상 출력:

CVE-2026-57821 - Apache Fineract Vulnerability Verifier
══════════════════════════════════════════════════════════════════════════════════════
@tc4dy is here :) Good Luck!

CONNECTION SUCCESS
BASELINE: 0.234s
STARTING VULNERABILITY VERIFICATION
VERIFICATION RESULTS
PostgreSQL: VULNERABLE
MySQL: NOT VULNERABLE
MariaDB: NOT VULNERABLE
Oracle: NOT VULNERABLE
MSSQL: NOT VULNERABLE
CONCLUSION: TARGET IS VULNERABLE (CVE-2026-57821 CONFIRMED)

Interpretation: If VULNERABLE appears for any database type, the target is affected.

기술 사양

CVSS 점수 지표 값 CVSS v3.1 기본 점수 8.1 (높음) 벡터 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H 공격 벡터 네트워크 필요 권한 낮음 사용자 상호작용 없음 EPSS 점수

0.29% (30일 이내 익스플로잇 확률)

CWE 매핑

CWE‑89: SQL 명령에 사용되는 특수 요소의 부적절한 중화('SQL 인젝션')

기술 심층 분석

페이로드가 작동하는 이유

Apache Fineract 1.14.0의 취약한 코드:

// Simplified vulnerable logic
String orderBy = request.getParameter("orderBy");
if (ColumnValidator.isValid(orderBy)) {
    // VALIDATOR FAILS FOR: "(SELECT ...)"
    // Only checks against simple column names
    String sql = "SELECT * FROM offices ORDER BY " + orderBy;
    // Executes query with user input directly
}

공격자 페이로드 예시:

GET /api/v1/offices?orderBy=(SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)&limit=1

결과 SQL:

SELECT * FROM offices ORDER BY (SELECT CASE WHEN (1=1) THEN pg_sleep(5) ELSE pg_sleep(0) END)

ColumnValidator는 컬럼 이름을 검사하지만 중첩된 서브쿼리를 놓쳐 임의의 SQL 실행이 가능합니다.

완화 방안

조치우선순위
Apache Fineract 1.15.0+로 업그레이드심각
PR #6048 패치 적용심각
WAF 규칙: (SELECT, SLEEP(, pg_sleep(, WAITFOR를 포함하는 orderBy 차단높음
로그 모니터링: 괄호 또는 서브쿼리 키워드가 포함된 orderBy 감시높음
데이터베이스 연결 풀 모니터링으로 리소스 고갈 감지중간
도구 다운로드