Skip to main content

CVE-2025-63689 Environment Tech Spec

대상 소프트웨어(Target Application Specification)

  • 제품명/버전
    • money-pos system (ycf1998/money-pos)
    • 취약 버전 - 2025-09-14 이전 커밋 전체
  • 배포 방식

시스템 환경(System Environment)

  • OS 종류 및 버전
    • os 제한 없음(JVM 기반) 대신 권장 사항으론 Linux를 추천함
  • Web Server
    • Spring Boot Embedded Tomcat
  • Database 종류 및 버전
    • MySQL 5.x / 8.x`
    • 프로젝트 제공 SQL 스키마 money_pos.sql

의존하는 구성요소(Dependencies)

  • Frontend
    • npm dependencies
      • Vue 3
      • Vue Router
      • Pinia
      • Element Plus
      • TailwindCSS
      • Axios
      • Vite (빌드/번들러)
  • Backend
    • Framework
      • Spring Boot 2.7.x
      • Spring Security
      • MyBatis-Plus (취약점 발생 핵심 ORM 계층)
  • ORM 및 DB 연결 방식
    • MyBatis-Plus -> Mapper XML 기반 SQL 구성
    • 동적 SQL(orderBy) 파라미터가 직접 쿼리에 삽입되는 구조

네트워크 환경(Network Topology)

  • 로컬 단일 서버 구성 가능
  • 포트 구조
    • Backend API: 8080 (Spring Boot 기본)
    • Frontend Dev Server(Vite) 5173 (개발 시)
    • DB 3306 (MySQL)
    • Nginx 80/443
  • Reverse Proxy 여부
    • 선택적 (일반적 운영 환경에서 Nginx Reverse Proxy 사용)
  • VM/테스트 네트워크
    • NAT 혹은 Bridge 모드에서 모두 문제 없이 재현 가능

PoC 실행 환경(PoC Execution Environment)

(피해자/공격자 가능할 시 둘 다 작성)

  • 공격자 클라이언트
    • Kali Linux 2024.x / Windows 11
    • Burp Suite Pro 2024.x
    • Curl 7.x
  • 네트워크 도구
    • curl 8.5.0+
    • wget 1.21.4+
    • nmap 7.94+
  • 웹 취약점 스캐너
    • Burp Suite Pro 2024.9.5+
    • OWASP ZAP 2.14.0+
  • SQL Injection
    • sqlmap 1.8+
    • noSQLMap 0.7+
  • Fuzzing 도구
    • ffuf 2.1.0+
    • wfuzz 3.1.0+
  • 자동화 스캐너
    • nuclei 3.2.0+
    • nikto 2.5.0+
  • 브라우저 버전
    • Chrome 120+
    • Firefox 121+

이 외 필요한 조건

  • API 요청 시 orderBy 파라미터가 직접 SQL에 삽입되는 구조 유지 필요
  • 입력 검증/화이트리스트 미구현 상태일 것
  • MyBatis-Plus의 wrapper.orderBy 또는 동적 문자열 정렬 기능 활성화
  • DB 계정에 SELECT 권한 정상 부여
  • 애플리케이션 로그 레벨 INFO 또는 DEBUG 유지 시 확인 용이