주소 하나만 쳤는데 폴더가 그대로 열립니다
브라우저 주소창에 사이트 주소를 넣고 뒤에 /uploads/ 를 붙여 봅니다. 로그인 화면도, 오류 화면도 나오지 않고 Index of /uploads/ 라는 제목과 함께 파일 목록이 그대로 뜹니다. 계약서 스캔, 직원 명단, 데이터베이스 덤프 같은 이름이 줄줄이 보입니다.
권한을 넘은 것도, 무엇을 뚫은 것도 아닙니다. 그 폴더에 첫 화면으로 쓸 파일이 없을 때 서버가 목록을 대신 그려 주도록 되어 있어서입니다. 그래서 주소를 아는 사람이면 누구나 같은 화면을 봅니다.
요청 한 번씩만 보내 봤습니다
더블루캔버스 리뷰 아카이브에 주소가 남아 있는 641곳에 홈 화면 요청을 한 번씩 보내고, 이어서 고정 경로 다섯 개에 각각 한 번씩 더 보냈습니다.
| 확인한 것 | 곳 |
|---|---|
| 주소가 남아 있는 대상 | 641곳 |
| 요청에 답한 곳 | 615곳 |
| 폴더 목록이 그대로 열린 곳 | 5곳 (두 곳 이상 열린 곳 2곳) |
| 제품 이름과 버전이 그대로 읽힌 곳 | 106곳 |
| 보호 헤더 세 줄이 하나도 없는 곳 | 405곳 (셋 다 있는 곳 30곳) |
열린 경로는 /images/ 3곳, /data/ 2곳, /uploads/ 1곳, /files/ 1곳이었고 /backup/ 은 0곳이었습니다. 5곳은 많은 수가 아닙니다. 다만 열린 곳은 누구에게나 열려 있습니다.
측정 방법을 밝힙니다. 2026년 8월 31일에 홈 화면과 고정 경로 다섯 개에 각각 GET 한 번씩만 보냈습니다. 리다이렉트는 4회까지 추적했고 타임아웃은 10초, 동시 8스레드입니다. 인증도, 파라미터 조작도, 재시도도 하지 않았습니다. 열린 목록의 실제 파일 이름은 옮기지 않았고, 영상과 본문의 화면은 재현입니다.
목록이 닫혀 있어도 사이트는 스스로 말합니다
폴더 목록이 닫혀 있어도, 사이트는 요청에 답하면서 자기 소개를 함께 보냅니다.
HTTP/1.1 200 OK
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k
X-Powered-By: PHP/5.4.16
Content-Type: text/html; charset=UTF-8
무엇으로 만들었고 몇 번째 판인지가 그대로 적혀 나옵니다. 응답한 615곳 가운데 106곳에서 제품 이름과 버전이 읽혔고, 많이 나온 값은 OpenSSL/1.0.2 14곳, Apache/2.4.6 11곳, PHP/5.4.16 8곳, PHP/7.4.33 8곳이었습니다. 이 값들이 아직 지원되는 버전인지는 PHP 버전을 3년째 안 올린 사이트에서 생기는 일에서 따로 다뤘습니다.
줄이는 일과 더하는 일은 다릅니다
여기서 두 가지를 나눠서 보셔야 합니다. 성격이 다른 작업이라 같이 묶으면 판단이 어긋납니다.
| 성격 | 무엇인가 | 예 |
|---|---|---|
| 줄이는 일 | 밖으로 드러나는 정보 | 폴더 목록 자동 표시, Server 의 제품·버전, X-Powered-By |
| 더하는 일 | 브라우저에 거는 규칙 | HSTS, X-Frame-Options, Content-Security-Policy |
이 항목들이 없다고 침해가 확정되는 것은 아닙니다. 반대로 다 있다고 안전해지지도 않습니다. 사이트마다 구조가 달라서 설정 몇 줄로 한 번에 끝나는 일도 아닙니다. 예를 들어 Content-Security-Policy 는 잘못 걸면 쓰던 화면이 멈추기도 합니다. 그래서 이 글은 「이렇게 고치세요」가 아니라 「이것부터 확인해 보세요」로 끝납니다.
오늘 하실 일은 묻는 것입니다
관리 담당자에게 두 줄만 보내 보십시오. 그대로 복사해서 쓰셔도 됩니다.
- 「공개 폴더에 파일 목록이 그대로 열리는 곳이 있는지 확인해 주시겠어요?」 이미지·업로드·자료실처럼 로그인 없이 열리는 경로를 봐 달라고 하시면 됩니다.
- 「응답 머리글에 제품 이름과 버전이 찍히고 있는지도 함께 봐 주세요.」 필요 없는 노출이면 줄일 수 있는지 판단해 달라고 덧붙이시면 됩니다.
두 가지 모두 확인만으로도 답이 나오는 항목입니다. 무엇을 어떻게 바꿀지는 사이트 구조를 아는 담당자가 정하는 편이 안전합니다. 밖에서 무엇이 보이는지 함께 확인해 드리는 것도 가능합니다.