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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-56380 — Frappe Framework v15.72.4의 frappe.client.get_value API 엔드포인트에서 fieldname 매개변수를 통해 SQL 인젝션 취약점이 발견되었습니다. | Kitploit
도구/GitHubGitHub/moalali/cve-2025-56380
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & Education
GitHubmoalali/cve-2025-56380

CVE-2025-56380

Frappe Framework v15.72.4의 frappe.client.get_value API 엔드포인트에서 fieldname 매개변수를 통해 SQL 인젝션 취약점이 발견되었습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-56380 — Frappe / ERPNext의 시간 기반 블라인드 SQL 인젝션 (frappe.client.get_value)

📌 요약 Frappe Framework v15.72.4의 frappe.client.get_value API 엔드포인트에서 시간 기반 블라인드 SQL 인젝션 취약점이 발견되었습니다(ERPNext v15.67.0 코드베이스에도 존재). 보고/클라이언트 API에 접근할 수 있는 인증된 사용자는 fieldname 매개변수를 통해 SQL을 주입할 수 있습니다. fieldname 매개변수에 sleep(15)과 같은 시간 지연 함수를 삽입하면 측정 가능한 응답 지연을 통해 인젝션을 확인할 수 있으며, 이를 통해 서비스 거부(DoS), 정보 공개(블라인드 기법), 데이터 조작이 가능합니다.


🛠 기술 세부 사항

  • 취약점 유형: SQL 인젝션 (시간 기반 블라인드) (CWE‑89)

  • 영향을 받는 제품: Frappe Framework / ERPNext

  • 영향을 받는 버전(보고 기준):

    • Frappe — 15.72.4
    • ERPNext — 15.67.0 (동일한 코드베이스 영향)
  • 영향을 받는 구성 요소: frappe.client.get_value API 메서드 (frappe/client.py)

  • 취약한 엔드포인트:

    root@kitploit:~
    /api/method/frappe.client.get_value
    

    취약한 쿼리 예시:

    root@kitploit:~
    /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893
    
  • 취약한 매개변수: fieldname (제대로 검증되지 않고 SQL에 직접 연결됨)

  • 공격 유형: 원격 (인증 및 보고 API 접근 권한 필요)

  • 심각도: 높음 (시간 기반 블라인드 SQLi로 데이터 유출, DoS, 조작 가능)

  • 예상 CVSS v3.1 점수: 8.0 (높음) — 데이터 공개와 DoS를 가능하게 하는 인증 필요 원격 SQL 인젝션에 기반한 추정치이며, 공식 점수는 CVE 담당 기관이 산정해야 합니다.

  • 상태: 수정되지 않음 (보고 기준)

  • 발견자: Mohammed Aloli (GitHub: https://github.com/MoAlali)

  • 발견 날짜: 보고서에 명시되지 않음

  • CVE ID: CVE-2025-56380


🚀 개념 증명(PoC) — 시간 기반 블라인드 SQLi

승인된 환경 / 랩 환경에서만 테스트하십시오. 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에 대해서는 실행하지 마십시오.

PoC 요청 (예시): image

root@kitploit:~
GET /api/method/frappe.client.get_value?doctype=Report&fieldname=ref_doctype+%2F+sleep(15)+&filters=Profit+and+Loss+Statement&_=1752174156893

확인 절차

  1. 보고/get_value API에 접근할 수 있는 사용자로 대상 Frappe/ERPNext 인스턴스에 인증합니다.
  2. 위 GET 요청(또는 동등한 URL 인코딩 페이로드)을 전송합니다.
  3. 응답 시간을 관찰합니다. 응답이 약 15초 지연되면 시간 기반 인젝션이 성공했음을 나타냅니다.
  4. 동일한 요청을 반복하여 재현 가능성을 확인합니다.
  5. 주입된 +%2F+sleep(15)+& 페이로드를 제거하고 응답이 즉시 반환되는지 관찰합니다. 이를 통해 인젝션이 시간 지연을 유발함을 확인합니다.

참고 사항: 백엔드 DB 엔진에 따라 sleep(15)을 다른 시간 함수나 시간 값(예: PostgreSQL의 pg_sleep(n))으로 바꾸십시오. 이 PoC는 타이밍을 통한 블라인드 인젝션을 시연합니다. 더 복잡한 페이로드를 사용하여 데이터를 비트 단위로 추출할 수도 있습니다.


🧪 공격 경로 및 영향

  • 공격 경로: 인증된 사용자가 SQL 페이로드(시간 지연 함수)를 포함한 악의적인 fieldname 매개변수를 사용하여 /api/method/frappe.client.get_value에 GET 요청을 구성합니다.

  • 영향:

    • 서비스 거부(DoS): 서버 응답의 강제 지연(악용 시 리소스 고갈).
    • 정보 공개: 시간 기반 기법(비트 단위/시간 조건부 쿼리)을 통한 블라인드 데이터 추출.
    • 데이터 조작: 다른 SQL 인젝션 벡터를 사용할 수 있는 경우 데이터베이스 상태를 변경할 가능성.
    • 기타: 애플리케이션 사용자에게 부여된 DB 권한에 따라 영향이 확대될 수 있음.

🔐 완화 권장 사항

  1. 매개변수화된 쿼리 / 준비된 문(Prepared Statements): fieldname 및 모든 사용자 입력이 SQL에 직접 연결되지 않도록 하십시오. 매개변수를 올바르게 바인딩하는 매개변수화된 쿼리 또는 ORM API를 사용하십시오.
  2. 엄격한 입력 검증 / 화이트리스트: 필드 이름이나 식별자여야 하는 매개변수의 경우 알려진 유효한 필드 이름의 엄격한 허용 목록(allowlist)에 대해 검증하거나, 클라이언트로부터 원시 필드 식별자를 수락하는 대신 서버 측 매핑을 사용하십시오.
  3. 식별자를 안전하게 이스케이프: 식별자를 동적으로 사용해야 하는 경우 DB별 안전한 식별자 따옴표/이스케이프 함수를 사용하십시오. 그리고 여전히 허용 값을 제한하십시오.
  4. 최소 권한 DB 계정: 필요한 권한만 가진 데이터베이스 사용자로 애플리케이션을 실행하십시오(보고 엔드포인트는 가능하면 읽기 전용).
  5. 속도 제한 및 모니터링: 속도 제한을 적용하고 비정상적인 요청 패턴이나 반복적인 시간 지연 테스트를 탐지하며 의심스러운 트래픽에 대해 알림을 설정하십시오.
  6. 감사 및 로깅: 민감한 API 엔드포인트에 대한 요청을 로깅하고 의심스러운 페이로드(예: sleep, pg_sleep, benchmark, /, ;)를 모니터링하십시오.
  7. 패치 및 릴리스: Frappe/ERPNext 개발자는 frappe.client.get_value 및 fieldname/필터를 처리하는 코드 경로를 감사하고, 안전하지 않은 연결(concatenation)을 안전한 API로 교체한 후 보안 패치를 릴리스해야 합니다. 운영자는 신속하게 업데이트를 적용해야 합니다.
  8. 보안 테스트: API 엔드포인트에서 SQL 인젝션(시간 기반 블라인드 포함)을 탐지하는 자동화된 테스트를 추가하십시오.

🔗 참고 자료

  • 발견자 / 보고자: Mohammed Aloli — GitHub: https://github.com/MoAlali — X: https://x.com/alaliksa_ — LinkedIn: https://www.linkedin.com/in/mohammedaloli/
  • Frappe / ERPNext 코드베이스 (검토 및 패치): https://github.com/frappe/frappe , https://github.com/frappe/erpnext
  • 일반 SQLi 지침: OWASP SQL Injection Cheat Sheet — https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html

🙏 감사의 말

Mohammed Aloli에 의해 발견됨


📢 고지 사항

이 정보는 방어 및 수정 목적으로만 제공됩니다. 소유하지 않았거나 명시적 테스트 권한이 없는 시스템에 이 취약점을 악용하려 시도하지 마십시오. 운영자는 패치 적용을 최우선으로 하고, 안전한 코딩 수정을 적용하며, 위의 완화 지침을 따라야 합니다.

도구 다운로드