- Főoldal
- Szolgáltatások
- A PrestaShop-pénztár sebezhetősége
A PrestaShop-pénztár sebezhetősége
Felfedeztünk egy sebezhetőséget, amely világszerte mintegy 200 PrestaShop-webshopot érintett. Megmutatjuk, mit csinál, és hogyan védheted meg a webshopodat.
Mit találtunk?
Az elmúlt hónapokban a szokásosnál jóval több feltört PrestaShop-webshoppal találkoztunk, pedig a platform a biztonságáról ismert. Az előző 10 évben mindössze 3–4 feltört webshoppal volt dolgunk, az elmúlt 4 hónapban viszont több mint 10 megkeresést kaptunk egy-egy feltört webshop elemzésére vagy javítására.
A támadások célja, hogy JavaScript-alapú kártyaadat-lopó kódot (skimmert) juttassanak a pénztároldalakra. A támadók közvetlenül vagy egy külső szolgáltatáson keresztül jutnak be a weboldalra, és olyan rosszindulatú JavaScriptet helyeznek el, amely ellopja, amit a vásárlók a fizetési űrlapba írnak. Az általunk látott esetekben a pénztároldal szabványos kártyás űrlapját a sajátjukra cserélték.
A webshopok ritkán látják át pontosan, hogy az oldaluk mely részei támadhatók kívülről, és a támadók éppen ezt használják ki. Az áldozatok gyakran észre sem veszik, hogy megváltozott a JavaScript-kódjuk, így a rosszindulatú kód akár korlátlan ideig ott maradhat. Az ellátásilánc-támadásoknál a webshop gyakran azt sem tudja, hogy egy feltört beszállítótól származó kódot futtat.
Mibe kerülhet ez neked?
- Ellopott személyes adatok: a fő célpont a bankkártyaadat, de a támadók személyes adatokat is elvihetnek, ami akár vásárlók millióit érintheti.
- Kieső bevétel: ha egy kis- vagy közepes webshopot ilyen támadás ér, az online eladásai jelentősen visszaeshetnek, mert a vásárlók már nem bíznak benne, hogy a következő betörést meg tudja akadályozni.
- További fertőzések: az ellopott admin- és felhasználói belépési adatokkal a támadók további weboldalakra, például egy márka másodlagos oldalaira is kiterjeszthetik a támadást.
- Jogi következmények: egy adatszivárgás után a vállalkozást beperelhetik a vásárlói, a GDPR-hoz hasonló jogszabályok alapján felelősségre vonhatják, és iparági szankciók is sújthatják, például PCI DSS-audit, vagy elveszítheti a jogot, hogy kártyás fizetést fogadjon el.

Mit tehetünk?
- A webshop fájljainak alapos átvizsgálása a behatolás nyomai után, hogy minden nem kívánt módosítást megtaláljunk.
- Az Imunify telepítése a szerverre, hogy a fertőzött fájlok ne futhassanak.
- A Clarity Module Pro, amelyet sokat használtunk a problémák felderítésére, és arra, hogy kiderítsük, érintettek-e a kártyaadatok.
- Kétlépcsős azonosítás az adminfelülethez, amit kifejezetten ajánlunk.
Ezek az intézkedések egyszeri 200 €-ba és havi 15 €-ba kerülnek.
Megelőzni mindig jobb, mint utólag javítani, ezért nagyon ajánljuk, hogy tedd meg ezeket az óvintézkedéseket, és tartsd biztonságban a webshopodat.

Esettanulmány
- 01
Probléma
Egy webshoptulajdonos észrevette, hogy órák óta egyetlen rendelése sem jött. Ez nagyon szokatlan volt, hiszen naponta általában több mint 60 rendelést kap.
- 02
Reakció
Hozzánk fordult, hogy javítsuk meg a pénztárat, mert azt hitte, egy egyszerű, könnyen javítható hibáról van szó.
- 03
Megközelítésünk
Először arra gyanakodtunk, hogy a hibát egy modul okozza, amelyet az előző napokban telepített, ezért ott kezdtük a vizsgálatot. Hamar jelentős kódmódosításokra bukkantunk, és kiderült, hogy az eredeti pénztárűrlapot teljesen lecserélték egy hamisra.
- 04
Megoldás
Két lehetőség van, attól függően, hogy a szervereden fut-e az Imunify360 Proactive Defense.
- Automatikus eltávolítás az Imunify360 Proactive Defense-szel (imunify360.com, imunify360.com). A valós idejű fájlszkenner minden fájlt ellenőriz, amikor az a rendszerbe kerül, és ha rosszindulatú, azonnal eltávolítja. Ez korlátozza a kárt egy védelem nélküli rendszeren, és különösen hasznos, ha a rendszer már fertőzött.
- A rosszindulatú fájlok kézi felkutatása. Ehhez a szerver fájljaiban base64-kódolású kódot kell keresni, és úgy kell eltávolítani, hogy a webshop működése ne sérüljön. Ez a hat fájl fertőződik meg a leggyakrabban:
classes/db/Db.php: a fájl végén lévő kód a 'statistics_hash' paraméter értékét a 106.15.179.255 IP-címre küldi.classes/controller/FrontController.php: általában úgy módosítják, hogy a pénztároldal egy véletlenszerű nevű további JavaScript-fájlt töltsön be, például /js/HQf6b.js, amely a fizetési részt egy hamis kártyás űrlapra cseréli. /public_html/js/STRANGENAME.js: a rendelési oldalon betöltött fájl, amely a fizetési részt egy egyéni űrlapra cseréli, és valószínűleg a támadó számlájára juttatja a pénzt. Ha megtaláltad a fertőzést, elsősorban ezt a fájlt kell törölnöd.classes/module/module.php: ezt is meg kell tisztítani, mert kódolt PHP-t tartalmaz, amely kódolt paramétereket fogadhat és kódolt PHP-kódot futtathat.controllers/admin/AdminLoginController.php: az adminfelület URL-jét, a belépési e-mail-címet és a jelszót a45.197.141.250/statystics.phpcímre küldi.app/Mage.php: aclasses/module/module.php-hoz hasonló kódot tartalmaz, ezt törölni kell.
Ha a szervereden vagy a tárhelyeden csak az ImunifyAV ingyenes verziója fut, nincs aktív védelem, ezért rendszeresen magadnak kell lefuttatnod a fájlvizsgálatot, és kézzel kell törölnöd a rosszindulatú kódot a fertőzött fájlokból:
Mi legyen a boltod
következő lépése?
Mondd el, mire gondolsz. Közvetlenül azokkal beszélsz, akik meg is valósítanák.
Ezeken a nyelveken beszélhetsz velünk:
- Angol
- Román
- Magyar
- Német
- Francia
- Spanyol
Egy munkanapon belül válaszolunk.




Leo, Péter, Attila és Szilamér

