A WordPress a világ egyik legnépszerűbb tartalomkezelő rendszere (CMS), ám ennek következtében a hackerek egyik kedvenc célpontja is. A sebezhetőségek kihasználásával támadók hátsó kapukat (backdoor) helyezhetnek el, amelyek lehetővé teszik számukra a weboldal további manipulálását. Ebben a cikkben bemutatunk néhány konkrét esetet, amelyben egy WordPress-webhelyre kártékony PHP fájlokat juttattak be.

Hogyan néz ki egy ilyen hátsó kapu?

Például az egyik ilyen gyanús fájl amit találhatunk a szerverünkön az a calligra.php fájl, amely az alábbi kódrészletet tartalmazta:

Ez még csak a jéghegy csúcsa, mert számos más fájlt is találhatunk: uchome.php; product_reviews.php; stb.

Az eval() függvény kihasználása

Az eval() egy PHP függvény, amely egy sztringként kapott kódot futtat le a szerveren. Ez önmagában is egy veszélyes funkció, mivel lehetőséget ad arra, hogy külső bemenetből származó, potenciálisan kártékony kódot hajtsanak végre a támadók. A fenti kódban az eval() egy HTTP-kérésből származó adatot használ fel, amely lehetővé teszi, hogy a támadók tetszőleges parancsokat hajtsanak végre a szerveren.

Az eval() használata a leggyakrabban a következő kockázatokat rejti magában:

  • Távoli kódfuttatás: A támadók saját kódjukat futtathatják a szerveren.

  • Hátsó kapuk létrehozása: Rejtett kódot ültethetnek be, amely később további támadásokra használható.

  • Adatszivárgás: Bizalmas adatokhoz férhetnek hozzá.

  • Szerver teljes átvétele: Az eval() révén akár teljes hozzáférést szerezhetnek a rendszerhez.

A legjobb védekezés az eval() teljes elkerülése és az olyan alternatív megoldások használata, mint az explicit függvényhívások és a biztonságos adatszűrés.

Gyanús naplóbejegyzések

A támadók gyakran töltenek fel más kártékon fájlokat is a WordPress webhelyek mondjuk az „uploads” könyvtárába. Egy konkrét példát itt látunk:

Ez azt jelenti, hogy valaki egy POST kéréssel próbált egy fájlt elérni és valószínűleg parancsokat küldött hozzá. Íme a konkrét fájl tartalma:

Hasonló érdekes fájlok lehetnek (teljesség igénye nélkül): admin_functions.php; class.release.php; dUnzip.php; essentials.php; head.php; jpgraph_mgraph.php; moduleinterface.php; package.php; pathway.php; phocagallery.php; shoutbox.php; config-1737437840.php; stb.

Hogyan védekezhetünk?

  1. Frissítsük a WordPress-t és a Pluginokat: A sebezhetőségek gyakran az elavult bővítményekből vagy témákból származnak.

  2. Korlátozzuk a feltöltéseket: Az uploads mappába ne lehessen PHP fájlokat feltölteni. Ehhez .htaccess fájlban érdemes beállítani: <FilesMatch ".*\.php$"> Deny from all </FilesMatch>

  3. Használjunk webalkalmazás-tűzfalat (WAF): Az olyan megoldások, mint a Cloudflare WAF, segíthetnek a kártékony kérések szűrésében.

  4. Ellenőrizzük a naplófájlokat: Figyeljük a gyanús POST kérésekre és a PHP fájlok létrehozására.

  5. Töröljük a kártékony fájlokat: Ha gyanús fájlokat találunk az uploads könyvtárban (vagy máshol), azonnal töröljük és vizsgáljuk át a szervert.

Zárszó

A WordPress rengeteg előnnyel jár, de megfelelő biztonsági intézkedések nélkül könnyű célponttá válhat. A támadók gyakran hátsó kapukat helyeznek el, amelyeket később kihasználhatnak, hogy átvegyék az irányítást az oldal felett. A fenti példákkal csak szemléltetni szerettünk volna, hogy mennyire fontos a rendszeres frissítés, a fölösleges fájlok, pluginek és témák törlése illetve a feltöltések ellenőrzése és a megfelelő védelmi mechanizmusok bevezetése.

Ha gyanús tevékenységet észlelsz a szervereden, érdemes azonnal biztonsági szakértőhöz fordulni!

Kapcsolódó cikkek

Íme két kapcsolódó cikk 2025 januárjából, ami két sokak által nagyon közkedvelt és használt modul feltöréséről szól.

WordPress Backup Plugin Vulnerability Affects 3+ Million Sites

W3 Total Cache plugin flaw exposes 1 million WordPress sites to attacks