WP Statistics 플러그인 보안 취약점 /wp-json/wp-statistics/v2/online 해결 방법

최근들어 WP statistics 플러그인의 고질적인 보안 취약점 /wp-json/wp-statistics/v2/online 라는 경로로 REST API 엔드포인트를 노린 공격이 실제로 다수 발생하고 있습니다. 따라서 플러그인 업데이트 및 엔드포인트 차단 같은 실질적인 보안 조치가 필수적입니다. 플러그인 삭제 후에도 공격이 이어질 수 있으니 확실한 해결법을 반드시 확인하시는 것이 좋겠습니다.

WP Statistics 플러그인 보안 취약점 wp-json/wp-statistics/v2/online 해결 방법 썸네일

WP statistics 플러그인 보안 취약점

WP Statistics는 워드프레스 사이트의 방문자 데이터를 수집, 분석하는 데 널리 사용되는 플러그인입니다. 하지만 최근 여러 보안 취약점이 발견되어, 공격자들이 데이터베이스에 접근하거나 사이트를 손상시킬 수 있는 위험이 커지고 있습니다. 특히 SQL 인젝션과 XSS(크로스사이트 스크립팅) 등 치명적인 취약점이 보고되었으며, 일부 버전에서는 인증되지 않은 공격자도 임의의 SQL 쿼리를 실행할 수도 있었습니다.

REST API 엔드포인트 공격

/wp-json/wp-statistics/v2/online 으로 공격

공격자들은 주로 /wp-json/wp-statistics/v2/online와 같은 REST API 엔드포인트를 집중적으로 노리고 있습니다. 이 경로는 사이트 방문자 통계, 실시간 접속 정보 등 다양한 데이터를 외부에서 조회할 수 있도록 설계되어 있는데요. 여기서 입력값 검증이 미흡한 경우, 공격자는 악의적인 데이터를 삽입하거나 대량의 요청을 보내 데이터베이스를 탈취하거나 서버를 마비시킬 수도 있습니다.

/wp-json/wp-statistics/v2/online 공격

WP statistics는 과거에도 이러한 사례가 많았는데요. 2022년 2월 10일 워드펜스 블로그 기사에서도 확인할 수 있고, 2025년 4월 4일 워드프레스 닷컴 포럼에서도 취약점 문의가 올라온 것을 확인할 수 있습니다. 그 때마다 입력값 검증에 대한 보안 패치가 이루어지고 있지만 계속해서 뚫리고 있는 것 같습니다..😭

공격받는 이유

WP Statistics 플러그인은 워드프레스 코어와 연동해 다양한 통계 데이터를 저장 및 조회를 하기 때문에, 외부에서 API 엔드포인트로 접근이 가능합니다. 공격자들은 자동화된 스크립트로 전 세계 워드프레스 사이트를 스캔하며, 취약점이 발견된 엔드포인트에 무차별적으로 공격을 시도하죠. 플러그인을 삭제한 후에도 이미 공격자들의 스캔 목록에 사이트가 등록되어 있으면, 계속해서 공격 시도가 이어질 수밖에 없습니다.

해결방법

/wp-json/wp-statistics/v2/ 경로로 무차별 대입 공격을 받을 경우 해결할 수 있는 방법을 소개해드리겠습니다.

플러그인 비활성화 및 삭제

우선적으로 WP Statistics 플러그인을 비활성화하면, 더 이상 플러그인 기능이 동작하지 않게 됩니다. 하지만, 플러그인 비활성화만으로는 공격 시도가 완전히 차단되지는 않습니다. 공격자는 여전히 이전에 알려진 엔드포인트로 접근을 시도할 수 있기 때문입니다.

플러그인 삭제 후에도 공격이 계속될 수 있음

말씀드린대로 플러그인을 삭제해도 서버에는 일부 데이터나 설정이 남아 있을 수 있습니다. 또한, 공격자들은 사이트가 취약한지 주기적으로 자동화된 도구로 스캔하기 때문에 삭제 이후에도 공격 로그가 계속 발생할 수 있습니다. 따라서, 플러그인 관련 데이터와 파일을 완전히 삭제한 뒤 보안 플러그인을 설치하거나 서버에서 작업을 하는 것이 좋습니다. (삭제하기 전에는 통계 데이터를 백업해두시는 것을 추천드립니다.)

보안플러그인에서 URL 차단

보안 플러그인에서 /wp-json/wp-statistics/v2/* 경로를 차단

워드펜스(Wordfence) 등 보안 플러그인에서 와일드카드를 사용하여 /wp-json/wp-statistics/v2/* 경로를 차단하는 것을 시도해보실 수 있습니다. 이렇게 조치하시게 되면 해당 엔드포인트로의 모든 외부 접근을 차단할 수 있습니다.

functions.php 에서 REST API 엔드포인트 비활성화

WP Statistics 플러그인의 REST API 엔드포인트(/wp-json/wp-statistics/v2/)는 플러그인 활성화 시 자동으로 등록되는데요. 이 엔드포인트를 통해 공격자가 취약점을 노릴 수 있기 때문에, 워드프레스 테마의 functions.php 파일에 아래 코드를 추가해 해당 엔드포인트를 완전히 비활성화할 수 있습니다.

add_filter('rest_endpoints', function ($endpoints) {
if (isset($endpoints['/wp-statistics/v2'])) {
unset($endpoints['/wp-statistics/v2']);
}
foreach ($endpoints as $route => $details) {
if (strpos($route, '/wp-statistics/v2') === 0) {
unset($endpoints[$route]);
}
}
return $endpoints;
});

이 코드는 /wp-json/wp-statistics/v2/ 및 하위 엔드포인트 전체를 워드프레스 REST API 목록에서 제거하는 것입니다.
따라서 플러그인 활성화 상태에서도 외부에서 해당 경로로의 접근이 불가능해지며, 보안 취약점 노출을 원천적으로 차단하실 수 있습니다.

서버 레벨 차단 (.htaccess 활용)

위에서 알려드린 방법을 활용했음에도 여전히 공격이 들어오는 것으로 보인다면 .htaccess를 활용해서 서버단에서 조치를 취하시는 것이 좋습니다.

워드프레스 사이트가 아파치(Apache) 웹서버에서 동작한다면, .htaccess 파일을 이용해 특정 REST API 엔드포인트로의 접근 자체를 서버 차원에서 차단할 수 있습니다.

RankMath에서 .htaccess 편집
RankMath에서 .htaccess 편집

아래 코드를 워드프레스 루트 디렉터리의 .htaccess 파일 맨 위나, # BEGIN WordPress 이전에 추가해보시기 바랍니다. (랭크매쓰 플러그인을 쓰신다면 손쉽게 htaccess 파일을 수정하실 수 있습니다. 일반설정 > .htaccess 편집 을 눌러 진행하시면 됩니다. 자세한 내용은 이 문서를 참고해보시기 바랍니다.)

RewriteEngine On
RewriteRule ^wp-json/wp-statistics/v2/ - [F,L]

이 설정을 적용하면 /wp-json/wp-statistics/v2/ 및 그 하위 경로로의 모든 요청이 403 Forbidden 에러로 즉시 차단됩니다. 서버에서 직접 차단하기 때문에 워드프레스 및 플러그인 레벨에서 우회 접근도 방지할 수 있습니다. 가장 효과적인 방법입니다.

자주 묻는 질문

플러그인을 삭제했는데도 공격이 계속 될 수도 있나요?

네. 이미 공격자들의 자동화 스캔 대상에 포함된 경우, 삭제 후에도 일정 기간 공격 시도가 이어질 수 있습니다. 따라서 이런 경우에는 서버 차원에서 엔드포인트 차단을 병행하시는 것이 안전합니다.

REST API 전체를 막아도 되나요?

사이트 기능에 따라 다르지만, 개인적으로는 불필요한 엔드포인트만 선별적으로 차단하는 것이 운영에 더 유리하다고 생각됩니다. 위에서 알려드린 wp-json/wp-statistics/v2 경로만 차단하시기 바랍니다.

WP Statistics 속도 느려짐 문제 해결법

마치며

공격으로 인해 CPU 사용률 100%

WP Statistics 플러그인의 REST API 엔드포인트 보안 취약점 문제는 워드프레스 사이트 운영에 있어 결코 간과할 수 없는 중요한 문제입니다. 왜냐하면 계속해서 엔드포인트 요청이 들어온다면 서버 CPU 사용량이 100%를 찍어 사이트가 다운되기 때문입니다.

이미 공격이 들어왔다면, 단순히 플러그인을 삭제하는 것만으로는 완전한 해결이 어려울 수 있습니다. 따라서 functions.php 파일 편집을 통한 REST API 엔드포인트 비활성화와 .htaccess 파일을 활용한 서버 레벨 차단도 병행하시는 것이 좋겠습니다. 어렵게 느껴지시더라도, Rank Math와 같은 SEO 플러그인을 사용하신다면, 플러그인 설정에서 .htaccess 파일을 손쉽게 수정하는 방법도 있으므로 적용 잘 하셔서 사이트 보안을 챙기시기 바랍니다.

📌이런 글은 어떠신가요?

Generatepress 테마 Read More 눌렀을 때 #more 앵커 링크 없애는 방법 썸네일
WP Statistics 플러그인 보안 취약점 wp-json/wp-statistics/v2/online 해결 방법 썸네일
워프 스팸차단 플러그인 1위 Akismet 아키스밋 사용방법 썸네일
워드프레스 스팸 댓글 차단 방법 썸네일
Code Snippet 플러그인 오류 (code 500) 원인 및 해결방법 썸네일
WP statistics 사이트 속도 저하 경고 해결방법 썸네일

댓글 남기기