Web fórumok létrehozására szolgáló motor több , amelyek lehetővé teszik a többlépcsős támadások szervezését tetszőleges PHP-kód végrehajtására a szerveren. A problémákat a .
első sebezhetőség a publikálás és a privát üzenetek küldésének moduljaiban található, és lehetővé teszi a JavaScript-kód behelyettesítését (XSS), amely a publikáció vagy a megkapott üzenet megtekintésekor a böngészőben végrehajtásra kerül. A JavaScript behelyettesítése a beágyazott BBCode HTML-re való helytelen átkonvertálása miatt lehetséges. Különösen a
«
tag, és a BBCode «» feldolgozásakor a következőre lesz átkonvertálva:
‹iframe src=»youtube.com/xyz[url]http://onload=evilCode()[/url]»›‹/iframe›
, és a többi BBCode feldolgozása után pedig
‹iframe src=»youtube.com/xyz‹a href=»http://onload=evilCode()»›..»›‹/iframe›
Így a dupla idézőjel az ‘href=»‘ lezárja a «src» attribútumot, így az onLoad a iframe kontextusában kerül feldolgozásra.
A második sebezhetőség lehetővé teszi, hogy a fórum adminisztrátora jogosultságok birtokában PHP-szkriptet menthessen a webkiszolgáló fájlrendszerébe és végrehajtását szervezze. A probléma a stílusok kezeléséért felelős kódban található az aktív téma esetében, amely lehetővé teszi új CSS-fájlok generálását. Az ilyen fájlok a «.css» kiterjesztés hozzáadásával kerülnek mentésre, de az adatbázis fájlnevének mezője 30 karakterre van korlátozva. Így a fájl neve lehet „26karakter.php.css”. Az adatbázisba való íráskor a felesleges karakterek levágódnak, és végül a „26karakter.php” név marad meg. Ezután a fórum adminisztrátora új stílust generálhat, és a fájl a „cache” könyvtárba fog kerülni php kiterjesztéssel.
A támadás végrehajtásához a támadó különlegesen kidolgozott üzenetet küldhet a fórum adminisztrátorának, vagy közzétehet egy hasonló üzenetet a fórumon. Az üzenet böngészőben történő megtekintésekor a fórum aktuális munkamenetében és az üzenet megtekintésére jogosult felhasználó jogain belül a támadó által megadott JavaScript-kód fog végrehajtásra kerülni. Ha az üzenetet az adminisztrátor nézi meg, akkor a második sebezhetőséget kihasználva a PHP-kód a privilegizált munkamenet kontextusában kerül végrehajtásra.
Forrás: opennet.ru
