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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-52021 — # 온라인 쇼핑 시스템의 시간 기반 블라인드 SQL 인젝션 취약점에 대한 권고 및 개념 증명 기술적 세부 사항, 영향 분석, 그리고 수정 권장 사항을 포함합니다. | Kitploit
도구/GitHubGitHub/hafizgemilang/cve-2025-52021
Vulnerability AnalysisExploitationWeb SecurityPenetration TestingLearning & Education
GitHubhafizgemilang/cve-2025-52021

CVE-2025-52021

# 온라인 쇼핑 시스템의 시간 기반 블라인드 SQL 인젝션 취약점에 대한 권고 및 개념 증명 기술적 세부 사항, 영향 분석, 그리고 수정 권장 사항을 포함합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-52021 — PuneethReddyHC / Online Shopping System Advanced (v1.0)의 시간 기반 블라인드 SQL 인젝션

CVE: CVE-2025-52021
제목: edit_product.php의 product_id 매개변수를 통한 시간 기반 블라인드 SQL 인젝션
공급업체 / 저장소: PuneethReddyHC — https://github.com/PuneethReddyHC/online-shopping-system-advanced
영향받는 버전: 1.0 (테스트 시점의 master 브랜치/태그)
발견자: Hafiz Pradana Gemilang
공개 상태: 공급업체에 비공개로 통보됨. 사용자 안전을 위해 전체 익스플로잇 PoC는 공개적으로 공개되지 않음.


요약

Online Shopping System Advanced v1.0의 admin/admin/edit_product.php에서 시간 기반 블라인드 SQL 인젝션 취약점이 발견되었습니다. product_id GET 매개변수는 적절한 검증이나 매개변수화 없이 SQL 쿼리에 삽입됩니다. 공격자는 시간 지연 함수(예: SLEEP)를 주입하여 서버 응답 지연을 관찰하고 데이터베이스 동작을 추론할 수 있으며, 이는 원격 SQL 인젝션 지점을 확인하는 것입니다.

참고: 이 권고에는 실행 가능한 익스플로잇 페이로드가 의도적으로 포함되지 않았습니다. 개념 증명 세부 사항은 수정을 위해 유지관리자에게 비공개로 공유되었습니다.


영향받는 엔드포인트 (예시)

root@kitploit:~
/admin/admin/edit_product.php?product_id=<value>

로컬 테스트 URL 예시:

root@kitploit:~
http://<host>/online-shopping-system-advanced-master/admin/admin/edit_product.php?product_id=0

취약점 세부 사항

  • 유형: SQL 인젝션 (시간 기반 블라인드)
  • 매개변수: product_id (GET)
  • 위치: admin/admin/edit_product.php
  • 공격 벡터: 원격 (조작된 URL); 관리자 엔드포인트가 공개적으로 접근 가능하거나 공격자가 도달할 수 있는 경우 인증 불필요.
  • 전제 조건: 엔드포인트가 product_id 매개변수를 수락하고 이를 매개변수화 없이 SQL 문에 포함해야 함.

증거 (타이밍 테스트 요약)

데이터베이스 SLEEP() 의미론을 사용한 타이밍 기반 인젝션 시도는 성공적인 인젝션과 일치하는 측정 가능한 서버 측 지연을 생성했습니다:

  • SLEEP(6) → 관찰된 응답 지연 ≈ 6.01초
  • SLEEP(15) → 관찰된 응답 지연 ≈ 15.00초
  • SLEEP(0) → 기준 응답 지연 ≈ 0.01초

이러한 결과는 시간 기반 추론을 허용하는 블라인드 SQL 인젝션 지점을 나타냅니다. 테스트 중 관찰된 데이터베이스 이름: onlineshop.


영향

이 취약점의 성공적인 악용으로 공격자는 다음을 수행할 수 있습니다:

  • 블라인드/시간 기반 기법을 통해 데이터베이스 콘텐츠를 확인하고 열거.
  • 시간 기반 기법을 사용하는 자동화 도구(예: sqlmap)로 데이터(스키마, 테이블 이름, 행)를 유출.
  • 데이터베이스 권한 및 애플리케이션 컨텍스트에 따라 추가 침해로 확대될 가능성.

예상 심각도: 높음


재현 (개요)

  1. 시간 지연 SQL 구문(테스트는 SLEEP() 변형으로 수행)을 포함하는 조작된 요청을 product_id 매개변수에 전송.
  2. 서버 응답 시간을 관찰하여 주입된 표현식이 실행되었는지 추론.
  3. 다양한 페이로드로 반복 테스트하여 시간 기반 기법을 통한 자동화된 추출 가능.

전체 단계별 PoC는 공개 권고에서 제외됨 — 책임 있는 공개 조건에 따라 암호화된 PoC는 보고자에게 문의하세요.


권장 수정 사항

  1. 모든 데이터베이스 액세스에 매개변수화된 쿼리 / 준비된 문 사용. 사용자 입력을 SQL 문자열에 연결하지 마세요.
    • 예시 (PHP + PDO):
      root@kitploit:~
      $stmt = $pdo->prepare('SELECT * FROM products WHERE id = ?');
      $stmt->execute([$product_id]);
      
  2. 입력 검증 및 정화: product_id를 정수로 취급하고 그에 따라 검증하세요 (예: filter_input(INPUT_GET, 'product_id', FILTER_VALIDATE_INT)).
  3. 최소 권한: 웹 애플리케이션에서 사용하는 데이터베이스 사용자에게 최소 권한을 부여하세요 (DROP, ALTER, GRANT 또는 관리 권한 회피).
  4. 오류 처리: 데이터베이스 오류가 클라이언트에 노출되지 않도록 하세요. 일반 오류 메시지를 사용하고 상세 오류는 서버 측에 기록하세요.
  5. WAF / 속도 제한: 임시 완화 조치로 일반적인 SQLi 패턴을 탐지하는 WAF 규칙을 구현하고 대량 추출 시도를 늦추기 위한 속도 제한을 적용하세요.
  6. 관련 엔드포인트 감사: 유사한 인젝션 패턴이 있는지 다른 관리자 엔드포인트와 매개변수를 검토하세요.

제안된 sqlmap 명령

(공급업체/유지관리자의 편의를 위해 포함 — PoC 페이로드를 공개적으로 게시하지 마세요)

root@kitploit:~
sqlmap -u "http://<host>/online-shopping-system-advanced-master/admin/admin/edit_product.php?product_id=0" --dbms=mysql --batch --level=5 --risk=3 --technique=T --time-sec=6

참고 자료

  • OWASP SQL Injection: https://owasp.org/www-community/attacks/SQL_Injection

연락처 / 크레딧

발견자: Hafiz Pradana Gemilang

  • 이메일: [email protected]
  • GitHub: https://github.com/hafizgemilang/CVE-2025-52021

공급업체 / 저장소: https://github.com/PuneethReddyHC/online-shopping-system-advanced


면책 조항: 이 공개 권고는 사용자를 보호하기 위해 악용 가능한 페이로드를 생략합니다. 전체 기술 세부 사항 및 PoC는 합의된 책임 있는 공개 정책에 따라 요청 시 공급업체에 제공됩니다.

도구 다운로드