Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

프레스타샵(PrestaShop) index.php 해킹: 증상, 원인 및 해결 방법 완벽 가이드

index.php는 프레스타샵(PrestaShop) 스토어의 랜딩 페이지로, 웹사이트에서 가장 많이 방문되는 페이지 중 하나입니다. 하지만 동시에 공격자들이 가장 적극적으로 노리는 파일이기도 합니다. 만약 공격자가 index.php 해킹에 성공하면 그 결과는 매우 심각할 수 있습니다. 공격자는 이 파일을 이용해 악성코드를 유포하거나, 사이트를 훼손하거나, 심지어 고객의 신용카드 정보를 탈취할 수 있습니다. riskiq.com에서 발표한 보고서에 따르면 이러한 공격은 실제로 끊임없이 발생하고 있습니다.

💡 전문가 팁: 프레스타샵의 index.php 파일은 모듈 파일을 무단 접근으로부터 보호하는 용도로도 활용할 수 있습니다. 자세한 내용은 관련 가이드를 참고하세요!

프레스타샵(PrestaShop) index.php 해킹: 증상, 원인 및 해결 방법 완벽 가이드

증상: 프레스타샵 index.php 해킹 징후

해커들은 다양한 악성 작업을 수행하기 위해 index.php에 악성코드를 주입합니다. 해킹 여부를 감지하는 것은 쉽지 않지만, 아래와 같은 증상이 나타난다면 의심해봐야 합니다.

  • 스토어를 방문한 사용자가 악성 사이트로 강제 리디렉션됩니다.
  • index.php 페이지가 훼손(defacement)되어 이상한 화면이 표시됩니다.
  • 페이지에 여러 개의 팝업이나 악성 광고가 계속 나타납니다.
  • 페이지가 방문자에게 악성 프로그램 설치를 요구합니다.
  • 알아볼 수 없는 이상한 문자열이 표시되거나 페이지 일부가 깨져 보입니다.
  • index.php 페이지 용량이 비정상적으로 커지고 로딩 속도가 느려집니다.
프레스타샵(PrestaShop) index.php 해킹: 증상, 원인 및 해결 방법 완벽 가이드

원인: 프레스타샵 index.php는 어떻게 해킹당하는가?

1. 취약한 업로드 모듈

업로드 모듈은 사용자가 .txt나 .pdf 형식의 청구서 같은 파일을 스토어에 올릴 수 있게 해주는 기능입니다. 하지만 이것이 보안 위험 요소가 될 수 있다는 점을 유의해야 합니다. 코드 실행을 방지하기 위해 대부분의 모듈은 .png, .txt 등 특정 파일 형식만 업로드를 허용합니다. 그러나 코딩이 부실한 업로드 모듈은 .php 파일의 업로드까지 허용해 서버에서 임의 코드 실행으로 이어질 수 있습니다.

프레스타샵(PrestaShop) index.php 해킹: 증상, 원인 및 해결 방법 완벽 가이드

위 이미지는 실제 해킹당한 사이트의 로그입니다. 로그를 보면 취약한 모듈이 먼저 공격자의 악성 x.php 파일 업로드를 허용했고, 이후 파일 권한이 0644(-rw-r--r--)로 설정되어 코드 실행이 가능해졌으며, 결국 index.php가 해킹당한 것을 확인할 수 있습니다.

2. 일반적인 코드 취약점

부실하게 작성된 모듈과 파일은 XSS(교차 사이트 스크립팅), SQL 인젝션(SQLi) 같은 공격에 취약합니다. 취약한 index.php 파일에는 악성 자바스크립트 코드가 주입될 수 있으며, 이 코드는 사이트 훼손부터 프레스타샵 사용자의 신용카드 정보 탈취까지 다양한 악성 행위를 수행합니다.

대표적인 사례가 pub2srv 악성코드입니다. 이 악성코드는 index.php를 직접 표적으로 삼으며, SQL 인젝션을 이용해 프레스타샵을 포함한 다양한 CMS의 index.php 파일에 악성 자바스크립트를 주입합니다.

프레스타샵(PrestaShop) index.php 해킹: 증상, 원인 및 해결 방법 완벽 가이드

3. 취약한 비밀번호

FTP 같은 서비스의 약하거나 기본값으로 설정된 비밀번호는 해커에게 사이트의 출입문을 열어주는 격입니다. 해커는 탈취한 자격 증명으로 사이트에 로그인해 index.php 내용을 마음대로 수정할 수 있습니다. 또한 서버의 여러 포트에서 실행 중인 서비스 중에는 하드코딩된 자격 증명을 가진 경우가 있는데, 관리자는 이를 인지하지 못하는 반면 해커는 전문 스캐너로 이를 탐지해 index.php에 악성코드를 주입합니다.

해킹당한 프레스타샵 스토어의 index.php 복구에 전문가의 도움이 필요하신가요? 채팅 위젯으로 메시지를 남겨주세요. 즉시 도와드리겠습니다.

4. 약한 파일 권한 설정

프레스타샵은 index.php처럼 민감한 파일을 특정 사용자만 수정할 수 있도록 권한을 관리합니다. 하지만 파일 권한이 잘못 설정되어 있으면 누구나 index.php를 편집할 수 있습니다. 더욱이 루트 디렉터리 목록 조회(directory listing)가 활성화되어 있다면 공격자는 스토어의 민감한 파일들을 열람하고, 거기서 얻은 정보를 바탕으로 index.php에 악성코드를 주입할 수 있습니다.

5. 오래된 모듈 및 코어 파일

프레스타샵은 각종 버그를 수정하기 위해 수시로 업데이트를 배포하며, 대부분의 버그는 변경 로그(changelog)에서 확인할 수 있는 보안 관련 사항입니다. 코어 파일과 모듈을 업데이트하지 않으면 공격자에게 문을 활짝 열어주는 것과 같습니다. 특히 업데이트 과정에서 index.php가 index.php.old로 이름 변경된 채 서버에 남겨지는 경우가 있는데, 공격자는 이런 파일을 탐지해 이를 발판 삼아 index.php에 악성코드를 주입합니다.

해결 방법: 프레스타샵 index.php 해킹 복구 절차

  1. 먼저 index.php를 복구하기 전에 프레스타샵 사이트를 유지보수 모드로 전환합니다.
  2. 관리자, FTP, 데이터베이스 등 모든 비밀번호를 추측하기 어려운 강력한 값으로 변경합니다.
  3. index.php 파일 내부의 악성코드를 찾아냅니다. 코드 용도를 파악하기 어렵다면 주석 처리하거나 전문가에게 문의하세요.
  4. index.php 내부의 base64 인코딩 코드를 찾아 온라인 디코딩 도구로 해독해 내용을 확인합니다.
  5. index.php를 비롯한 모든 파일에서 악성코드를 완전히 제거합니다.
  6. 파일 권한을 폴더 755, 파일 644로 설정합니다.
  • 평판이 불확실하거나 의심스러운 프레스타샵 모듈은 과감히 삭제하세요. 대체할 만한 모듈은 충분히 많습니다.
  • 프레스타샵을 최신 버전으로 업데이트했는지 반드시 확인합니다.
  • 모든 조치가 끝나면 스토어를 유지보수 모드에서 해제해 정상 운영을 재개합니다.

마무리: 지속적인 보안이 최선의 예방책

마지막으로, 지속적이고 포괄적인 보안 솔루션에 투자하면 웹사이트를 획기적으로 보호할 수 있습니다. 시중에 다양한 솔루션이 있지만 신뢰할 수 있는 제품은 많지 않으며, Astra 웹사이트 보안이 그중 하나입니다. Astra는 강력한 방화벽(WAF)으로 index.php 같은 핵심 파일을 각종 악성 행위로부터 보호하고, 24시간 연속 모니터링 기능까지 제공합니다. 보안 관련 모든 작업을 Astra에 맡기고 안심하고 비즈니스에 집중해 보세요!