Otkrivena bezbednosna ranjivost na PrestaShop web sajtovima Idi do glavnog sadržaja

Otkrivena bezbednosna ranjivost na PrestaShop web sajtovima

Napadači su pronašli način da aktiviraju maliciozni kod na serverima koji pokreću PrestaShop web sajtove. Ukoliko na svom sajtu koristite ovaj popularni e-commerce CMS, obavezno pročitajte ostatak teksta.

PrestaShop tim je otkrio da napadači koriste kombinaciju poznatih i nepoznatih bezbednosnih ranjivosti, kako bi ubrizgali maliciozni kod u PrestaShop web sajtove. Na taj način mogu naknadno da pokrenu instrukcije i potencijalno ukradu podatke sa platnih kartica vaših korisnika.

Istražujući ovu vrstu napada, PrestaShop tim je otkrio ranije nepoznatu ranjivost na čijem rešavanju upravo radi. Ipak, u ovom trenutku nije potpuno jasno da li je to jedini način na koji se izvodi pomenuti napad.

Koliko je do sada poznato, ovaj problem se odnosi na verzije 1.6.0.10 ili neke verzije nakon nje, koje se podložne SQL injection ranjivosti. Verzije 1.7.8.2 i kasnije nisu ranjive, osim ako koriste module ili kastomizovani kod koji sam može biti ranjiv na SQL injection. S tim u vezi imajte u vidu da verzije 2.0.2-2.1.0 Wishlist modula podležu ovoj ranjivosti.

Kako napad funkcioniše

Napad podrazumeva da je vaša online prodavnica ranjiva na SQL injection napad. Koliko je za sada poznato, najnovije verzije PrestaShop-a i njegovih modula su bezbedne od ove vrste napada. Veruje se da napadači targetiraju shop-ove koji koriste zastarele verzije softvera i modula, ranjive third-party module ili ranjivosti koje još nisu otkrivene.

Način funkcionisanja ovog napada je najverovatnije sledeći:

  • Napadač submit-uje POST request ka strani koja je ranjiva na SQL injection
  • Nakon jedne sekunde, napadač submit-uje GET request ka homepage-u, bez parametara. Ovo rezultira kreiranjem PHP fajla pod nazivom blm.php koji se kreira u root direktorijumu shop-a.
  • Zatim napadač ponovo submit-uje GET request ka tom novom fajlu (blm.php), koji mu omogućava da izvrši željene instrukcije.
  • Nakon što napadač uspešno preuzme kontrolu nad shop-om, on ubrizga lažnu formu za plaćanje na front-end checkout stranici. U ovom scenariju, kupci na tom shop-u mogu uneti podatke sa svoje platne kartice u lažnu formu, i ne znajući poslati ih napadaču.

Iako je ovo najverovatniji scenario za većinu napada, napadači možda koriste i neke drugačije strategije, a mogu čak i izbrisati svoje tragove nakon uspešno izvršenog napada.

Kako da se zaštitite

Pre svega pobrinite se da vaš PrestaShop i svi njegovi moduli budu ažurirani na najnoviju verziju. To bi trebalo da vas preventivno zaštiti od poznatih i aktivno korišćenih SQL injection ranjivosti.

Po trenutnom saznanju PrestaShop tima, napadači možda koriste MySQL Smarty cache storage funkcionalnost kao deo strategije napada. Ova funkcionalnost se retko koristi i podrazumevano je onemogućena, ali može biti daljinski omogućena od strane napadača. Dok se patch zvanično ne objavi, PrestaShop tim savetuje da fizički onemogućite ovu funkcionalnost u PrestaShop kodu, kako biste sprečili da bude zloupotrebljena za napad.

Da biste to uradili, locirajte fajl config/smarty.config.inc.php u vašoj PrestaShop instalaciji, i uklonite linije od 43-46 (PrestaShop 1.7) ili 40-43 (PrestaShop 1.6):

if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
include PS_CLASS_DIR.'Smarty/SmartyCacheResourceMysql.php';
$smarty->caching_type = 'mysql';

Kako da znate da li ste već žrtva napada

Poželjno je da povremeno proveravate access logove na vašem serveru, u pokušaju da pronađete scenario opisan u prethodnim redovima ovog teksta. Ovo je primer koji je podelio admin jednog od napadnutih sajtova:

  • [14/Jul/2022:16:20:56 +0200] "POST /modules/XXX/XXX.php HTTP/1.1" 200 82772 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14"
  • [14/Jul/2022:16:20:57 +0200] "GET / HTTP/1.1" 200 63011 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36"
  • [14/Jul/2022:16:20:58 +0200] "POST /blm.php HTTP/1.1" 200 82696 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"

Putanja modula je ovde modifikovana iz razumljivih razloga.

Imajte u vidu da nepronalaženje ovog koda / obrasca na vašem serveru ne znači automatski da vaš shop nije bio žrtva napada. Možda su napadači izvršili napad na drugačiji način, ili su možda jednostavno sakrili svoje tragove nakon uspešnog napada.

Ukoliko sumnjate da ste bili žrtva ovog napada, najbolje je da kontaktirate eksperta koji će uraditi detaljnu proveru vašeg sajta u uveriti se da nije došlo do menjanja fajlova, niti da je ubrizgan neki maliciozni kod.

Dok ne izađe zvanična zakrpa, proverite da li koristite najnovije verzije PrestaShop-a i njegovih modula, i po potrebi ih ažurirajte na poslednje dostupne verzije.

Nenad Mihajlović


Ostavite odgovor