Az utóbbi napokban számos WordPress honlap tulajdonos tapasztalta, hogy weboldala nem tölt be rendesen. Ez a bosszantó probléma egy igen népszerű bővítménynek, a WP GDPR Compliance pluginnak köszönhető: a bővítmény olyan sérülékenységgel rendelkezik, amelyet kihasználva könnyedén feltörhetik az adott WordPress weboldalt.
Május 25-ével hatályba lépett az új Általános Adatvédelmi Rendelet (GDPR), aminek köszönhetően a WP GDPR Compliance plugin gyorsan népszerűvé vált a honlaptulajdonosok körében, hiszen ennek segítségével könnyedén alkalmassá tehették oldalukat az új törvényi előírásoknak megfelelően. A plugint már több mint 100.000-szer (!) telepítették, ezért a veszélyeztetett oldalak száma igen magas.
A sérülékenység egy úgynevezett jogosultságnövelés (priviledge escalation)sebezhetőséget takar a bővítmény 1.4.2-es és annál régebbi verziójánál, ezt kihasználva a támadók adatbázis módosításokat tudnak végrehajtani az adott honlapnál. Ez igen komoly veszélyt jelent minden WordPress weboldal számára, ha te is használod a WP GDPR Comliance plugint, érdemes minél hamarabb gondoskodnod adataid és weboldalad biztonságáról!
A fertőzés jelei
A WordPress a siteurl használatával generál linkeket a statikus tartalmakhoz, mint például javascript, CSS és képi elemek. A támadók ezt a siteurl-t írták át a saját címükre (erealitatea[.]net vagy más oldalra) így a feltört honlapok vagy nem töltöttek be rendesen vagy át lettek irányítva.
A erealitatea[.]net jelenleg elérhetetlen, ezért a feltört oldalak betöltődése nagyon sok időt vesz igénybe, de ha újra elérhetővé válik, akkor a fertőzött oldalakon keresztül kártékony tartalmakat tudnak eljuttatni a gyanútlan látogatók gépére.
A támadás részeként az is előfordulhat, hogy módosítják a honlaptulajdonos admin jogosultságát, így lehetetlenné téve az admin felületre történő belépést és a siteurl módosításának az észlelését.
Állítsd vissza a siteurl-t
A megoldás egyszerű, nem kell mást tenned, mint az adatbázisban a wp_optionstáblát módosítani: az option_name oszlopban keresd meg a siteurl-t, majd az értékét (option_vlaue) írd át az eredeti domainre.
Az alábbi SQL kéréssel is megváltoztathatod ezt az értékeket:
UPDATE `wp_options` SET option_vaue = 'http://sajatdomain.hu option_name = 'siteurl';
Fontos: lehet, hogy a WordPress telepítésekor az adatbázis tábláknak más előtagot adtál meg (wp_options helyett valami_options), ezért az SQL kérés előtt ezt mindenképp ellenőrizd!
Alternatív megoldás
Amennyiben nem férsz hozzá a weboldal adatbázisához, vagy nem szívesen nyúlsz bele az SQL táblákba, van egy másik megoldás is, amivel módosítani tudod a siteurl értéket.
Ehhez nem kell mást tenned, mint megnyitni a wp-config.php filet és a <?php tag után a az alábbi sorokat beírni:
define( 'WP_HOME', 'http://sajatdomain.hu' );
define( 'WP_SITEURL', 'http://sajatdomain.hu' );
Fontos megjegyezni, hogy a WP GDPR Compliance sebezhetősége nem csak a siteurl módosítására ad lehetőséget a támadóknak, hanem új, admin jogosultsággal rendelkező felhasználók létrehozására is, illetve idegen fileok elhelyezésére a WordPress könyvtárában.
Mindenképpen ellenőrizd weboldalad felhasználóit, és amennyiben gyanús fiókokat találsz, azonnal töröld őket. Leggyakrabban az alábbi felhasználónevekkel találkozhatunk:
- t2trollherten
- t3trollherten
- superuser
Továbbá a WordPress gyökérkönyvtárában legtöbbször egy wp-cache.php filet fedeztünk fel.
Ezeket a felhasználói fiókokat és a tárhelyen elhelyezett idegen filet is a támadók hozzák létre, hogy megőrizzék hozzáférésüket a feltört weboldalhoz a biztonsági rések befoltozása után is. Ezeket mind feltétlenül távolítsd el, majd frissítsd a WP GDPR Compliance plugint a legaktuálisabb verzióra.
Változtasd meg az admin felhasználó jelszavát
A támadás részeként előfordulhat, hogy módosítják az admin felhasználó jelszavát, így hiába írod át a siteurl-t, a WordPress adminisztrációs felületre nem fogsz tudni belépni. Ebben az esetben módosítanod kell a wp_users táblában az admin felhasználó jelszavát. Keresd meg az admin usert, majd kattints a módosításra.
Ezután a user_pass résznél válaszd az MD5 kódolást (ezzel a hash függvénnyel lesz titkosítva jelszavad) és az érték részhez írd be a használni kívánt jelszót. Mentés után megváltozik az admin felhasználó jelszava, így újra be tudsz majd lépni az adminisztrációs felületre.
Konklúzió
A legfontosabb az, hogy WP GDPR Compliance bővítményt a legaktuálisabb verzióra frissítsd, valamint, hogy a felhasználók regisztrációjának lehetőségét felfüggeszd és a meglévő felhasználók jogosultságait ellenőrizd.
Sajnos nem ez az első eset, hogy egy népszerű plugin, vagy sablon sebezhetőségét kihasznválva, több ezer WordPress oldalt fertőznek meg. Készíts mindig biztonsági mentést honlapodról és folyamatosan frissítsd a WordPress alaprendszerét és a telepített bővítményeket. Ezen kívül mindenképpen érdemes webalkalmazás tűzfalat (WAF) használnod, ami kiszűri és megvédi honlapodat a kártékony kódoktól.
Szerencsére a cikkünkben leírt pár lépéssel te is ki tudod küszöbölni ezt a problémát. Ha viszont bizonytalan vagy, segítségre van szükséged és teljesen biztosra akarsz menni, akkor vedd fel velünk a kapcsolatot és mi szívesen segítünk!