PrestaShop 9 nie wysyła e-maili przez SMTP: błąd portu 587
Zamówienia przychodzą, ale nie wychodzi ani jeden e-mail. To błąd PrestaShop 9 z portem 587: wersja 9.2 go naprawia, a…
Klient pisze do Ciebie: kiedy otworzył Twój sklep, okienko „potwierdź, że jesteś człowiekiem” kazało mu nacisnąć dwa klawisze, coś wkleić i nacisnąć Enter. Sprawdzasz i nie widzisz nic złego. Jeśli Ci się to przydarzyło, Twój sklep PrestaShop został zhakowany przez ClickFix: ktoś wstawił do niego kawałek kodu, który pokazuje odwiedzającym fałszywą captchę, żeby sami zainstalowali złośliwy program, zwykle taki, który kradnie hasła.
Samo nie zniknie: ktoś dostał się do Twojego sklepu i to tam zostawił. Da się to wyczyścić, ale naprawdę ważne jest zamknięcie drzwi, którymi wszedł. I nie jesteś sam: 3 września Netskope naliczył ponad 5400 zainfekowanych stron w tej kampanii, prawie wszystkie należące do małych firm. Te, które zbadano jedna po drugiej, to głównie WordPress, a czasem PrestaShop.
Strona rozmywa się za fałszywą captchą, która prosi o naciśnięcie klawisza Windows i R, wklejenie i naciśnięcie Enter. To, co się wkleja, to polecenie, które strona już wcześniej skopiowała, nikomu nic nie mówiąc, a jego uruchomienie instaluje program atakującego. Prawdziwa captcha nigdy nie prosi o otwarcie czegokolwiek na Twoim komputerze.
To, że tego nie widzisz, nie znaczy, że tego nie ma. Kod w Twoim sklepie przy każdym otwarciu strony pobiera pułapkę z innego miejsca, a atakujący decyduje, co pokazać i komu, nie dotykając więcej Twojego sklepu. Celuje w komputery z Windows, a wariant, który The Hacker News opisał 6 października, ukrywa program w przeglądarce odwiedzającego, zanim w ogóle o cokolwiek poprosi.
Zrzut ekranu od klienta wystarczy, żeby zacząć.
W bazie danych, w polu, które sklep drukuje na każdej stronie, albo w plikach: Netskope znalazł go doklejonego do legalnych plików JavaScript i w folderach udających prawdziwą wtyczkę. Francuski sprzedawca, który opisał to 5 października na forum PrestaShop, ze sklepem 1.7.8, nie znalazł niczego w bazie danych, a tylne drzwi były w plikach w kilku folderach.
index.php. Jeden więcej albo taki, którego nazwa zaczyna się od kropki i który Twój program FTP ukrywa, to tylne drzwi.Sprawdzenie w Zaawansowane → Informacja → Lista zmienionych plików patrzy tylko na to, czy zmieniły się pliki rdzenia: nie na szablon, nie na moduły, nie na obrazki i nie na dodane pliki. Pusta lista nie oznacza czystego sklepu.
Netskope jeszcze nie wie, jak te strony zostały przejęte. W PrestaShop zwykłe drzwi to moduł ze znaną luką, którego nigdy nie zaktualizowano, skradzione albo łatwe hasło do panelu i moduły „nulled”, czyli płatne moduły pobrane za darmo z pirackich stron, które często przychodzą z już zainstalowanymi tylnymi drzwiami.
ps_facetedsearch, module filtrów katalogu dostarczanym z PrestaShop: każdy, bez konta, mógł uruchomić kod na Twoim serwerze. Jest naprawiona w 4.0.4; jeśli miałeś starszą wersję, załóż, że to mogła być droga wejścia. I usuń moduły, których nie używasz./admin. Drugiego kroku z kodem w telefonie nie ma w standardzie, ale dodaje go moduł.Zapytania tylko do odczytu; zamień ps_ na prefiks sklepu. Warehouse zapisuje swoje pola z kodem w postaci zakodowanej, więc szukaj też <script.
SELECT name, LEFT(value, 120)
FROM ps_configuration
WHERE value LIKE '%<script%'
OR value LIKE '%<script%'
OR value LIKE '%eth_call%'
OR name LIKE '%codes_js';
SELECT id_cms, id_lang
FROM ps_cms_lang
WHERE content LIKE '%<script%';
SELECT id_employee, email,
id_profile, active,
last_connection_date
FROM ps_employee
ORDER BY id_employee DESC;
W plikach, z katalogu głównego sklepu:
find img upload download \
-name '*.php' ! -name index.php
find . -name '.*.php'
find . -type f -mtime -30 \
\( -name '*.php' -o -name '*.js' \) \
-not -path './var/cache/*'
grep -rl -e eth_call -e prebsc \
-e bsc-testnet -e claritydelivr \
--include=*.js --include=*.php \
--include=*.tpl .
Wskaźniki kampanii są na liście Netskope. Ponowna instalacja rdzenia i modułów z czystych paczek tej samej wersji jest bezpieczniejsza niż usuwanie plik po pliku; potem wyczyść var/cache i themes/*/assets/cache. PrestaShop 9 ma pliki .htaccess, które blokują uruchamianie PHP w img, upload, download, js, vendor i modules: upewnij się, że nadal tam są, a na Nginx, który ich nie czyta, przenieś te reguły do konfiguracji serwera.
Jeśli coś znalazłeś, a nie masz kogo poprosić o sprzątanie, jeśli wróciło po czyszczeniu albo jeśli nie wiesz, od czego zacząć. To część naszej usługi wsparcia i opieki technicznej: czyścimy sklep, ustalamy, jak weszli, i zamykamy drzwi. Wyślij nam zrzut ekranu od klienta i swoją wersję PrestaShop, a przyjrzymy się temu tego samego albo następnego dnia.
Zamówienia przychodzą, ale nie wychodzi ani jeden e-mail. To błąd PrestaShop 9 z portem 587: wersja 9.2 go naprawia, a…
Z zagranicy działa, z Hiszpanii się nie ładuje — akurat w dzień meczu. To nie Twój serwer, tylko zablokowany adres IP…
Moduł, aplikacja, serwer, który sprawia problemy, albo coś pilnego. Odpowiadamy w ciągu 24 godzin, ze stałą wyceną: cena i termin.