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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-35585-poc — CVE-2026-35585에 대한 개념 증명 익스플로잇으로, File Browser(버전 2.0.0 ~ 2.33.1)의 OS 명령 주입 취약점입니다. 악성 파일 업로드를 통한 원격 코드 실행을 위한 Python 및 브라우저 기반 PoC 스크립트가 포함되어 있습니다. | Kitploit
도구/GitHubGitHub/saku0512/cve-2026-35585-poc
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRed Teaming
GitHubsaku0512/cve-2026-35585-poc

CVE-2026-35585-poc

CVE-2026-35585에 대한 개념 증명 익스플로잇으로, File Browser(버전 2.0.0 ~ 2.33.1)의 OS 명령 주입 취약점입니다. 악성 파일 업로드를 통한 원격 코드 실행을 위한 Python 및 브라우저 기반 PoC 스크립트가 포함되어 있습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-35585: File Browser OS 명령 인젝션 PoC

English version

개요

이 리포지토리는 File Browser(버전 2.0.0~2.33.1)에서 발견된 중대한 OS 명령 인젝션 취약점 CVE-2026-35585의 Proof of Concept(PoC)입니다.

이 취약점은 "Custom Command Hooks" 기능에 존재합니다. 셸 실행 시 $FILE이나 $USERNAME 등의 환경 변수가 충분히 샌니타이즈되지 않기 때문에, 파일 업로드 권한이 있는 인증된 사용자는 악의적인 파일명을 이용해 호스트 시스템에서 임의의 명령을 실행할 가능성이 있습니다.

발견자: saku0512 (https://github.com/Saku0512)


⚠️ 면책 조항

이 프로젝트는 교육 목적 및 윤리적인 보안 테스트 목적으로만 사용하십시오.

이 도구의 악용, 손해 또는 불법 행위에 대해 저자는 일체의 책임을 지지 않습니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 이 소프트웨어를 사용함으로써 명시적인 허가를 받은 환경에서만 보안 테스트를 수행하는 데 동의한 것으로 간주됩니다.


취약점 세부 정보

  • CVE ID: CVE-2026-35585
  • 유형: OS 명령 인젝션 (CWE-78)
  • 영향: 원격 코드 실행 (RCE)
  • 영향받는 버전: v2.0.0 <= File Browser <= v2.33.1
  • 수정된 버전: v2.33.8

근본 원인

File Browser에서는 관리자가 "After Upload"와 같은 훅을 설정할 수 있습니다. 이러한 훅이 실행될 때 애플리케이션은 셸 명령을 실행하고 $FILE과 같은 변수를 실제 파일명으로 대체합니다. 파일명에 ;, &, | 등의 셸 메타 문자가 포함된 경우 적절히 이스케이프되지 않고 시스템 셸에서 실행되어 버립니다.


Proof of Concept (사용 방법)

이 섹션에서는 제공된 환경과 익스플로잇 스크립트를 사용하여 원격 코드 실행(RCE)을 재현하는 절차를 설명합니다.

1. 환경 구축 및 초기 설정

Docker Compose를 사용하여 취약한 환경(File Browser v2.33.1)을 실행합니다. 처음에는 data/filebrowser.db가 존재하지 않으므로 먼저 File Browser의 DB를 초기화한 후 훅을 설정합니다.

root@kitploit:~
# data 디렉터리에 적절한 권한 설정
mkdir -p data && sudo chown -R 1000:1000 data

# DB 초기화
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser config init --database /database/filebrowser.db

# admin / admin 사용자 추가
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser users add admin admin --perm.admin --database /database/filebrowser.db

# shell 에 "sh -c" 설정
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser config set --shell "sh -c" --database /database/filebrowser.db

# After Upload 명령 추가
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser cmds add after_upload 'echo Uploaded: $FILE' --database /database/filebrowser.db

# 컨테이너 실행
docker compose up -d

이미 data/filebrowser.db가 존재하는 경우 config init은 필요하지 않습니다. admin 사용자가 이미 있다면 users add 대신 다음 명령어로 비밀번호를 재설정하십시오.

root@kitploit:~
docker run --rm -v "$(pwd)/data:/database" filebrowser/filebrowser:v2.33.1 /bin/filebrowser users update admin --password admin --database /database/filebrowser.db

컨테이너 실행 후 훅 설정을 변경하려면 SQLite의 잠금을 피하기 위해 docker compose stop 한 후 설정 명령을 실행하고 마지막에 docker compose start 하십시오.

2. 익스플로잇 실행

exploit.py 스크립트를 실행하여 로그인과 악의적인 파일 업로드를 자동화합니다. 다음 명령은 컨테이너 내 /tmp 디렉터리에 pwned_rce_test라는 파일을 생성하려고 시도합니다.

root@kitploit:~
# 의존성 설치
pip install requests

# 익스플로잇 실행
python3 exploit.py -t http://localhost:8080 -u admin -p admin -c "touch /tmp/pwned_rce_test"

3. 검증

컨테이너 내에 파일이 생성되었는지 확인하여 명령이 정상적으로 실행되었는지 검증합니다.

root@kitploit:~
docker exec -it cve-2026-35585-vuln-app ls -l /tmp/pwned_rce_test

파일이 존재하면 RCE가 확인됩니다.


브라우저 PoC (내비게이션 제공)

기존 exploit.py는 그대로 사용할 수 있습니다. File Browser를 조작하는 느낌으로 확인하고 싶다면 함께 제공되는 브라우저 PoC 내비게이터를 사용할 수 있습니다.

1. File Browser 실행 및 훅 설정

위의 "1. 환경 구축 및 초기 설정"을 실행하고 http://localhost:8080에서 File Browser에 로그인할 수 있는 상태로 만듭니다.

2. 브라우저 PoC 내비게이터 실행

root@kitploit:~
python3 browser_poc.py

브라우저에서 다음을 엽니다.

root@kitploit:~
http://127.0.0.1:8090/

3. 내비게이션에 따라 검증

  1. Target: http://localhost:8080의 도달 가능성을 확인합니다.
  2. Login: admin / admin으로 로그인하고 File Browser API 토큰을 획득합니다.
  3. Payload: 기본적으로 id > /srv/pwned_browser_rce.txt를 실행하는 파일명 페이로드를 생성합니다.
  4. Trigger: 악의적인 파일명으로 업로드하여 After Upload 훅을 발화시킵니다.
  5. Verify: /srv/pwned_browser_rce.txt를 File Browser API를 통해 읽어 RCE 결과를 화면 내에서 확인합니다.

/srv는 docker-compose.yml에서 이 리포지토리에 마운트되어 있으므로 성공하면 호스트 측에도 pwned_browser_rce.txt가 생성됩니다.


대책

File Browser를 버전 2.33.8 이상으로 업데이트하십시오. 수정된 버전에서는 훅 기능이 기본적으로 비활성화되고 변수 전개가 더 안전하게 처리됩니다.


참고 링크

  • CVE-2026-35585 (cve.org)
  • Official GitHub Advisory
도구 다운로드