crowny-video 유료 CVF 페이월 우회 차단 (P0 보안, 파일이동만)
개요
video.crowny.org:9877(crowny-video)
/api/download/<파일명> 이 무인증이라, 예측가능한
파일명(
class_o3-1.cvf 등)으로 크라우니클래스 유료 강의 CVF/mp3/ccp가 전부 공개
다운로드됐다. 서버 코드는 손대지 않고(다음 단계 과제),
원본 볼륨에서 파일만
class-private 경로로 이동해 즉시 우회를 차단했다.
무엇을 했는지
mkdir -p
-
/Users/ef/crowny-class/데이터/영상/cvf
-
/Users/ef/crowny-class/데이터/영상/cvf-archive
mv (같은 볼륨, 즉시 이동)
-
class_*.cvf +
class_*.cvf.mp3 (23+23=46개) →
데이터/영상/cvf/
-
class_*.cvf.ccp (23개) →
데이터/영상/cvf-archive/
-
/Users/ef/crowny-video/output/ 의 비-class 파일(2019_USA
.cvf, hd_test.cvf,
roundtrip.cvf/mp4, sim_*.html, synth_demo.cvf 등)은 전혀 건드리지 않음(실측 확인).
- 서버 코드 무수정, 데몬/재기동 없음, class.html/모듈 무수정(다음 단계 과제).
검증 (실측)
curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:9877/api/download/class_o3-1.cvf
이동 전: 200 (우회 실증)
이동 후: 404 (차단 확인)
ls 데이터/영상/cvf/ | grep -c cvf = 46 (cvf 23 + cvf.mp3 23)
ls 데이터/영상/cvf-archive/ | grep -c cvf.ccp = 23
무결성: head -c4 데이터/영상/cvf/class_o4-2.cvf = CVF! (매직바이트 정상, 손상 없음)
crowny-video/output/에 class_* 잔여 0건, 비-class 파일 19개 원위치 그대로.관련 파일 경로
- 이동 전:
/Users/ef/crowny-video/output/class_*.cvf{,.mp3,.ccp}
- 이동 후:
/Users/ef/crowny-class/데이터/영상/cvf/ (cvf+mp3),
/Users/ef/crowny-class/데이터/영상/cvf-archive/ (ccp)
- crowny-video 서버(무수정):
/Users/ef/crowny-video (포트 9877)
- crowny-class API 계약:
/Users/ef/crowny-class/API-CONTRACT.md
잔여 이슈
- crowny-video:9877
/api/download는 여전히 무인증 — class 파일은 옮겨서 막았지만
엔드포인트 자체의 인증 부재는 미해결(다른 예측 가능 파일명 대상 우회 가능성 잔존,
단 이번 임무 범위는 class CVF 격리로 한정).
→ 다음 단계 후보:
/api/download에 인증 게이트 추가 또는 완전 폐기.
- class 교실에서 이 CVF를 재생하는 경로가 아직 없음(server.js/video 모듈이 새
cvf/ 위치를 바라보도록 배선 필요) — 별도 태스크(#16 CVF 재생 경로 전환)로 이관.
- cvf-archive(.ccp 23개)의 용도/보존 정책 미정 — 필요 시 정리.