회사 이름으로 검색했을 뿐인데 낯선 페이지가 쏟아집니다
이 편에 나오는 사이트는 겉으로는 아무 문제가 없었습니다. 홈페이지도 정상적으로 열렸고, 관리자 화면도 평소와 같았습니다. 그런데 회사 이름으로 검색하자 정상 페이지 사이에 일본어 도박 페이지가 섞여 나왔습니다. 색인된 페이지는 3,127개였고, 그중 대부분은 회사가 만든 적이 없는 페이지였습니다.
이런 상태를 두고 "검색에 페이지가 많이 잡힌다"라고 이해하시면 안 됩니다. 검색엔진이 침해된 페이지까지 수집해 갔다는 뜻이고, 그 페이지들은 이미 회사 도메인의 이름으로 노출되고 있습니다.
10초 자가진단: 검색창에 딱 한 줄
구글 검색창에 아래 한 줄을 띄어쓰기 없이 붙여서 입력하시면 됩니다.
site:내도메인
예를 들어 도메인이 example.co.kr이라면 site:example.co.kr이라고 입력합니다. site:와 도메인 사이에 공백이 들어가면 연산자가 동작하지 않으므로 반드시 붙여서 쓰셔야 합니다.
판별 기준은 페이지 수가 아닙니다. 회사와 무관한 제목이 하나라도 섞여 있다면 정상적인 검색 결과가 아닙니다. 아래 두 가지를 나누어 보시기 바랍니다.
- 정상 — 결과에 나오는 페이지가 전부 회사가 만든 페이지입니다.
- 침해 의심 — 모르는 제목, 외국어 문자열, 도박이나 성인 키워드가 섞여 있습니다.
두 번째 자리: 서버의 업로드 폴더
검색 결과만 이상한 것이 아닙니다. 침해된 사이트는 서버에도 흔적을 남깁니다. /wp-content/uploads/처럼 원래 이미지와 첨부 파일만 있어야 하는 업로드 폴더를 열어 수정일 기준으로 정렬해 보시기 바랍니다.
수정일이 같은 HTML 파일이 하루 만에 여러 개 생성돼 있다면 사람이 하나씩 올린 파일이 아닙니다. 자동으로 심어진 파일입니다. 이 편의 사례에서는 k-8812.html을 비롯한 파일들이 같은 시각에 연속으로 생성돼 있었습니다.
내가 올리지 않은 파일을 발견했을 때, 삭제보다 원인 차단이 먼저입니다. 파일만 지우면 같은 경로로 며칠 뒤에 다시 심어집니다.
세 번째 자리: Search Console 의 보안 문제 메뉴
구글은 대체로 사이트 운영자보다 먼저 알고 있습니다. Search Console 에 등록해 두셨다면 아래 경로에 기록이 남아 있습니다.
Search Console → 보안 및 수동 조치 → 보안 문제
여기에는 문제 유형과 최초 감지일, 영향받은 페이지 수가 그대로 남습니다. 이 편의 사례에서는 문제 유형이 "해킹된 콘텐츠 — 스팸 페이지 삽입"이었고, 최초 감지일은 2025년 9월 26일, 영향받은 페이지는 3,127개였습니다. 영상을 만든 시점을 기준으로 경고가 올라온 지 여섯 달이 지나 있었습니다.
Search Console 에 사이트를 등록해 두지 않으셨다면 지금 등록하시기를 권합니다. 등록 자체는 무료이고, 등록해 두어야 다음 경고를 놓치지 않습니다.
확인한 다음에 할 일
- 감염 페이지와 웹셸을 함께 지웁니다. 스팸 페이지만 지우면 그것을 만들어 내는 파일이 그대로 남습니다.
- 들어온 경로를 막습니다. 취약한 플러그인을 업데이트하고, 업로드 폴더에서 실행 권한을 제거합니다.
- 계정 정보를 전부 새로 발급합니다. 관리자 비밀번호, FTP, 데이터베이스, API 키가 모두 대상입니다.
- 그다음에 Search Console 에서 검토를 요청합니다. 순서를 바꾸면 승인된 뒤에 같은 경고가 다시 붙습니다.
복구 순서를 왜 이렇게 잡아야 하는지는 구글이 사이트에 '위험' 표시를 붙였을 때 복구하는 순서에서 사례와 함께 자세히 다뤘습니다. 침입이 시작되는 지점은 대체로 관리자 페이지이므로, 관리자 주소가 /admin 이면 하루에 몇 번 공격받을까도 이어서 보시면 흐름이 하나로 연결됩니다.