Twój sklep na PrestaShopPrestaShop to popularny system zarządzania treścią (CMS) oraz platforma e-commerce, która umożliwia tworzenie i prowadzenie sklepów internetowych. Jest to oprogramowanie open-source, co oznacza, że jego kod jest dostępny publicznie i można go modyfikować według potrzeb użytkownika. PrestaShop oferuje bogatą gamę funkcji i narzędzi, które umożliwiają zarządzanie asortymentem produktów, przetwarzanie zamówień, zarządzanie klientami, monitorowanie sprzedaży oraz wiele innych. Dlaczego warto wybrać PrestaShop? PrestaShop oferuje bogatą paletę funkcji, które ułatwiają prowadzenie sklepu...Czym jest PrestaShop? działa w oparciu o wersję 1.6.0.10 lub nowszą? Sprawdź, koniecznie czy Twoi klienci mogą bezpiecznie korzystać z usług. Twórcy oprogramowania PrestaShop wydali komunikat, w którym informują o wykrytej luce bezpieczeństwa w starszej wersji oprogramowania i przestrzegają przed nasilonymi atakami cyberprzestępców.
Poważna luka w zabezpieczeniach PrestaShop
PrestaShop poinformował o wykrytej luce w oprogramowaniu, poprzez którą możliwe jest wstrzyknięcie złośliwego kodu przez cyberprzestępców i tym samym dokonanie przez nich kradzieży tożsamości klientów – począwszy od jej bazy, adresów, skończywszy na numerze karty kredytowej.
Z opublikowanych ostatnio informacji, wynika, że atakujący znaleźli sposób na ominięcie zabezpieczeń i wykorzystanie napotkanej luki do wstrzyknięcia złośliwego kodu na serwerach, na których funkcjonują witryny PrestaShop. Może on umożliwić na przykład przechwycenie danych podawanych podczas płatności.
Problem ten może dotyczyć sklepów opartych na wersji 1.6.0.10 lub nowszych, które są objęte lukami w iniekcjach SQLSQL (ang. Structured Query Language) to język zapytań strukturalnych, który służy do komunikacji z bazami danych. Jest to standardowy język stosowany w systemach zarządzania relacyjnymi bazami danych (RDBMS – Relational Database Management System), takich jak MySQL, PostgreSQL, Oracle, Microsoft SQL Server czy SQLite. SQL umożliwia tworzenie, modyfikowanie i przetwarzanie danych w bazie w sposób przejrzysty i ustandaryzowany. SQL został opracowany w latach 70. XX wieku przez firmę IBM (pierwotnie pod nazwą...Czym jest SQL?. Wersje 1.7.8.2 i nowsze nie są podatne, chyba że uruchamiają moduł lub niestandardowy kod, który sam zawiera lukę typu SQL injectionSQL Injection (lub wstrzykiwanie SQL) to popularna i groźna technika ataku stosowana przez cyberprzestępców, polegająca na wstrzykiwaniu nieautoryzowanych zapytań SQL do aplikacji internetowej. Zwykle jest to możliwe w przypadku niewłaściwego zabezpieczenia pól formularzy, które pozwalają użytkownikom na bezpośrednie wprowadzenie danych do bazy SQL. Atak ten umożliwia modyfikację lub usunięcie danych, pozyskanie poufnych informacji, a czasami nawet przejęcie pełnej kontroli nad bazą danych. Jak działa SQL Injection? Atak SQL Injection polega...Czym jest SQL Injection?.
Jak przebiega atak?
Aby atak został przeprowadzony skutecznie, sklep musi być podatny na ataki typy SQL injection. Najnowsze wersje oprogramowania są wolne od błędów, a sytuacja może dotyczyć sklepów, które korzystają ze starszych wersji oprogramowania bądź modułów stron trzecich lub jeszcze nieodkrytej luki.
Z obserwacji PrestaShop scenariusz wygląda następująco:
1. Atakujący przesyła żądanie POST do punktu końcowego podatnego na wstrzyknięcie SQL.
2. Następnie, zaledwie sekundę później, atakujący przesyla na stronę główną żądanie GET bez parametrów. To sprawia, że zostaje stworzony plik PHPPHP - (Hypertext Preprocessor) to jeden z najpopularniejszych języków skryptowych, używany przede wszystkim po stronie serwera do tworzenia dynamicznych stron internetowych. Powstał w 1995 roku, a jego twórcą jest Rasmus Lerdorf. PHP cechuje się prostą składnią, dużą elastycznością oraz ogromną społecznością, która stale rozwija ten język. Dzięki temu PHP jest świetnym wyborem zarówno dla początkujących programistów, jak i zaawansowanych deweloperów tworzących rozbudowane aplikacje webowe. Jednym z głównych zastosowań PHP jest...Czym jest PHP? o nazwie blm.php w głównym katalogu sklepu. Żądanie GET jest teraz przesyłane do tego nowego utworzonego pliku, umożliwiając jednocześnie wykonanie dowolnych instrukcji.
3. Atakujący przejmuje kontrolę nad działaniem sklepu. Modyfikuje formę płatności. Niczego nie świadomy Klient wprowadzając informacje o swojej karcie kredytowej w fałszywym formularzu naraża swoją tożsamość na niebezpieczeństwo.
W tym scenariuszu klienci sklepu mogą wprowadzić informacje o swojej karcie kredytowej w fałszywym formularzu i nieświadomie wysłać je atakującym.
Taka sama sytuacja może dotyczyć innych informacji i danych Twojego sklepu. Poprzez umieszczenie innej nazwy pliku, atakujący mogą modyfikować kolejne części oprogramowania, poprzez wstrzykiwanie złośliwego kodu w innym miejscu, precyzyjnie zacierając po tym zdarzeniu ślad.
Co zrobić, aby Twój sklep był bezpieczny?
Po pierwsze sprawdź z jakich wersji oprogramowania korzystasz. Twój sklep i wszystkie moduły powinny być zaktualizowane do najnowszej wersji.
Jak czytamy w oficjalnym komunikacje PrestaShop, atakujący mogą używać funkcji przechowywania pamięci podręcznej MySQLMySQL to system zarządzania relacyjnymi bazami danych (RDBMS - Relational Database Management System), który jest szeroko stosowany w aplikacjach internetowych, serwisach internetowych, systemach e-commerce, systemach zarządzania treścią (CMS) i wielu innych aplikacjach. Jest to otwarte oprogramowanie, które jest dostępne bezpłatnie i obsługiwane przez społeczność deweloperów na całym świecie. MySQL wykorzystuje relacyjną strukturę danych, w której dane są przechowywane w tabelach zdefiniowanych przez zbiór kolumn i wierszy. Ta struktura umożliwia skuteczne...Czym jest MySQL? Smarty jako części ataku. Pomimo jej znikomej aktywności i domyślnym wyłączeniu, mogą ją uruchomić zdalnie. Do momentu rozwiązania sytuacji, zalecane jest wyłączenie tej funkcji w kodzie PrestaShop.
Jak to zrobić?
Zlokalizuj plik config/smarty.config.inc.php w swojej instalacji PrestaShop i usuń wiersze 43-46 (PrestaShop 1.7) lub 40-43 (PrestaShop 1.6).

Jak sprawdzić czy zostałeś zaatakowany?
W ramach wyżej przestawionego scenariusza, możesz przejrzeć dziennik dostępu serwera.
Musimy zdawać sobie sprawę, że złożoność wykrytej luki umożliwia wstrzyknięcie złośliwego kodu na co najmniej kilka sposobów. Jednocześnie osoby atakujące sprytnie zacierają ślady swojej aktywności.
Aby wzmocnić pamięć podręczną MySQL Smarty przed atakami wstrzykiwania kodu – wydano PrestaShop 1.7.8.7. Ważne jest aktualizowanie systemu, aby zapobiec takim atakom – czyli regularne aktualizowanie zarówno oprogramowania PrestaShop, jego modułów, jak i środowiska serwerowego.
Dzięki informacje i za rzeczowe wyjaśnienie problemu
Dobrze, że jesteście.
Sandra, mamy nadzieję, że Twój sklep jest bezpieczny
Niestety po usunięciu podanych wierszy : HTTP error 500
Przed usunięciem wskazanego w artykule kodu, upewnij się, że nie korzystasz z MySQL cache. Jeśli problem nadal będzie występował, pomocny będzie przegląd logów błędów – znajdziesz je w panelu DirectAdmin.
Już wysyłam informację do mojego zespołu. Teraz już wiem dlaczego jesteście u mnie w ulubionych
Dzięki za reakcję i ostrzeżenie. Jakość obsługi na najwyższym poziomie:)
Dlatego wolę płacić abonament i korzystać z gotowego rozwiązania Sass. Wówczas przynajmniej w teorii ktoś za mnie zajmuje się zabezpieczeniami