Pozorovania vBulletinu alebo pokusy o ukladanie dynamického obsahu do vyrovnávacej pamäte. Pozorovania vBulletinu alebo pokusy o ukladanie dynamického obsahu do vyrovnávacej pamäte Bezchybný vbulletin

  • 20.03.2024

Pravdepodobne ste už mnohokrát videli fóra o engine vBulletin. Fóra ako také už nie sú v móde, no vBulletin je stále jedným z najpopulárnejších motorov. V jeho najnovšej (piatej) verzii sa našlo niekoľko zraniteľností, ktoré môžu veľmi zničiť život správcu. V tomto článku vám poviem, ako sa používajú.

Prvým problémom je nesprávne filtrovanie používateľských údajov. Informoval o tom nezávislý bezpečnostný výskumník, ktorý si želal zostať v anonymite. Zraniteľnosť, aj keď má určité obmedzenia, získala kritický stav, pretože vám umožňuje čítať akékoľvek súbory a spúšťať ľubovoľný kód v cieľovom systéme.

Druhú zraniteľnosť našli výskumníci z TRUEL IT a získali identifikátor CVE-2017-17672. Súvisí s funkciami deserializácie údajov v motore a môže byť použitý útočníkom na odstránenie ľubovoľných súborov v systéme.

Úplné správy s podrobnosťami o oboch problémoch boli zverejnené ako súčasť programu Beyond Security spoločnosti SecuriTeam. Existujú aj exploity PoC na demonštráciu zraniteľností. Poďme si to celé prejsť po poriadku.

Prípravky

Ako server som použil distribúciu WAMP.

Čítanie súborov, vykonávanie príkazov

Dôvodom prvej zraniteľnosti je teda nesprávna logika pri spracovaní parametra smerovacieho reťazca, ktorý útočníkovi umožňuje zahrnúť akýkoľvek súbor na disku prostredníctvom include a spustiť PHP kód, ktorý sa v ňom nachádza.

Naša cesta začína najdôležitejším súborom – index.php, kde prebieha základná inicializácia aplikácie.

/index.php
48: $app = vB5_Frontend_Application::init("config.php"); ... 60: $routing = $app->getRouter(); 61: $method = $routing->getAction(); 62: $template = $routing->getTemplate(); 63: $trieda = $smerovanie->getControllerClass();

Pozrime sa na metódu vB5_Frontend_Application::init.

/includes/vb5/frontend/application.php
13: trieda vB5_Frontend_Application rozširuje vB5_ApplicationAbstract 14: ( 15: verejná statická funkcia init($configFile) 16: ( 17: parent::init($configFile); 18: 19: self::$instance = new vB5_Frontend_A; self::$instance->router = new vB5_Frontend_Routing();21: self::$instance->router->setRoutes();

Tu nás zaujíma metóda setRoutes.

47: verejná funkcia setRoutes() 48: ( 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: ( 56: $cesta = $_GET[" routestring"];

Premenná $path obsahuje hodnotu userdata z parametra routestring. Môžete do nej zadať cestu na stránku fóra a tá sa načíta.



Povedzme, že sme prešli /testom .

Po priradení premennej existuje časť kódu, ktorá sa zbaví lomky na začiatku riadku, ak je prítomná.

/includes/vb5/frontend/routing.php
75: if (strlen($cesta) AND $cesta(0) == "/") 76: ( 77: $cesta = substr($cesta, 1); // $cesta = "test" 78: )
obsahuje\vb5\frontend\routing.php
83: if (strlen($cesta) > 2) 84: ( 85: $ext = strtolower(substr($path, -4)) ; 86: if (($ext == ".gif") ALEBO ($ext == ".png") ALEBO ($ext == ".jpg") ALEBO ($ext == ".css") 87: OR (strtolower(substr($cesta, -3)) == ".js" )) 88: ( 89: hlavička("HTTP/1.0 404 sa nenašlo"); 90: die(""); 91: ) 92: )

Ako vidíte, kontrola je dosť zvláštna. Prinajmenšom mätúca je prítomnosť zoznamu zakázaných rozšírení zapísaných priamo v kóde. A vo všeobecnosti samotná skutočnosť, že rozšírenie sa získa vyrezaním štyroch znakov z konca riadku (riadok 85), je záhadná. Vo všeobecnosti, ak sa pokúsime prijať súbor s príponami gif, png, jsp, css alebo js, ​​server vráti stránku 404 a skript sa zastaví. Keď prejdú všetky kontroly, pomocou callApi sa zavolá metóda getRoute z triedy vB_Api_Route. Vyhľadáva vhodné trasy na základe informácií poskytnutých používateľom.

Pokračovanie je dostupné len pre členov

Možnosť 1. Pripojte sa ku komunite „stránky“ a prečítajte si všetky materiály na stránke

Členstvo v komunite v určenom období vám umožní prístup ku VŠETKÝM materiálom Hackerov, zvýši vašu osobnú kumulatívnu zľavu a umožní vám nazbierať profesionálne hodnotenie Xakep Score!

Chcel som o tom napísať už dlho, ale nikdy som sa k tomu nedostal, ale teraz som mal možnosť zverejniť krátku poznámku k tejto téme. Prečo teda nezverejniť zoznam toho, na čo by sa mal používateľ pred výberom hostingovej služby pozrieť. Najmä pre nás, tých, ktorí používajú vbulletin. Nazvime to všetko jednoducho – odporúčania. Je jasné, že profesionáli už všetkému rozumejú, tu nie je čo vysvetľovať. Začiatočníci by však mali stále miešať. Keďže vidím nezdravý trend, admin Vbulletin 4 chce, aby jeho fórum fungovalo na zdieľanom hostingu za 5 dolárov a všetko uletí. toto sa už nikdy nestane!

Všetci vieme základy, ale keď som hľadal svojho hostiteľa, urobil som aj nejaké chyby, tak sa pozrime na niektoré.

Je spoločnosť nadmerným predajcom?

Páni, prosím, nepoužívajte hosting, ktorý sa predáva (overseller). S najväčšou pravdepodobnosťou dostanete kus veľkého „mlátenia“, s ktorým budete dlho trpieť. Ale ako môžeme určiť, že hosting sa predáva cez 50 rúk? Nie sú tu žiadne tajomstvá, ponúknu vám 500 alebo 1 500 GB priestoru (tu, samozrejme, preháňam, ale nie príliš) a 100 TB šírky pásma, a to len za 5 dolárov. Nie je to príliš dobré? Ale toto sú všetky kecy; v skutočnosti nepotrebujete viac ako 2-10 GB miesta na disku, verte mi. A šírka pásma 50 – 200 GB je mimo vaše uši, najmä počas prvých pár dní.

Je spoločnosť predajcom?

Tu si tiež treba dávať veľký pozor. Väčšina predajcov sú spoločnosti typu fly-by-night. Berú peniaze, trochu pracujú a je to, už ich neuvidíte. Všetky vaše súbory a práca budú stratené! Ale toto nepotrebujeme, však? A aj keď sa vám páčia ceny za hosting od týchto spoločností, určite si skontrolujte, ako dlho konkrétna spoločnosť podniká.

Limit veľkosti databázy!

Toto je veľmi dôležitý bod, ak plánujete migrovať svoj pracovný vbulletin. Pozeral som sa po ponukách rôznych hosterov, väčšina ponúka 100MB. Spočiatku vám to bude samozrejme stačiť, no akonáhle sa vaše fórum rozrastie, nebude vám to stačiť a budete nútení prejsť na VPS alebo dedikovaný server.

Počet súčasných pripojení k databáze.

Ach áno, toto je 100% dôležité. Je to veľmi dôležité, najmä ak pracujete s Vbulletinom. Pretože v priebehu času simultánne spojenia len rastú. Väčšina spoločností zdieľaného hostingu ponúka 10-250, všetko závisí od hostingu. Stačí zavolať na technickú podporu a opýtať sa ich na to. Nie všetky zdieľané hostingové stránky však majú tieto informácie alebo ich budú zdieľať s vami.

Recenzie! Je to dobré alebo zlé?

Technická podpora.

Väčšina hostingových stránok má nepretržitú technickú podporu, ktorá funguje 24 hodín denne, 7 dní v týždni, prostredníctvom e-mailu, lístkov, icq, skype alebo inou metódou. Ale ako dlho vám budú pomáhať? Niekedy to hrá rozhodujúcu úlohu.

Zavolajte na technickú podporu a zistite, ako dlho čakáte na odpoveď, najmä v noci alebo o 5-6 ráno. A skontrolujte niekoľko možností a telefón a lístky. Pýtajte sa jednoduché otázky, na ktoré už poznáte odpovede, musíme vypočítať ich čas odozvy. Mám! Skvelé, pozrite sa, ako dlho ste čakali na odpoveď na jednoduchú otázku, a odhadnite, ako dlho vám odpovedia v ťažkej situácii.

Veľká známa spoločnosť alebo nová neznáma?

Voľba je tu v zásade len pred vami, čím staršia a renomovanejšia firma, tým ceny nebudú o niečo vyššie ako u novovzniknutých. Osobne si vyberám firmu, ktorá sa už ako-tak osvedčila. Chcete vedieť prečo? Je to jednoduché, len si predstavte, že cez noc môžete stratiť veľa užitočných súborov a databázy. To isté platí pre zásady ochrany osobných údajov; nemôžete si byť vždy istí, že sa dodržiavajú. Vaše údaje je možné skopírovať a vytvoriť klonované stránky. Tento zoznam pokračuje ďalej a ďalej. No chápeš ma :)

Hlavné výhody:

  • Rýchly a efektívny databázový rámec
  • Rozhranie pozostávajúce zo šablón
  • Výkonný vyhľadávací nástroj
  • Podpora viacerých jazykov
  • Používateľské profily
  • Výkonný a pohodlný administračný panel
  • Neobmedzený počet sekcií/tém/správ
  • Upozornenia e-mailom
  • podpora COPPA

Vzhľadom na to, že výrobca neposkytuje demo fóra, ktoré je možné nainštalovať, musel som nainštalovať ľavú verziu, stiahnutú z nejakého Vareznika. Pokyny teda nemusia úplne zodpovedať procesu inštalácie licenčného fóra. Po inštalácii bola stránka vymazaná a nepoužívala sa na zamýšľaný účel.

Ak chcete nainštalovať vBulletin, prejdite na ovládací panel hostingu (tlačidlo s ozubeným kolieskom vedľa objednávky hosťovania vo fakturácii), tam v „Správcovi súborov“, v ňom prejdeme do adresára „www“. Kliknite na tlačidlo „Nahrať súbor do aktuálneho adresára“:

Zadajte cestu k súboru v počítači:

Vyberte archív pomocou vBulletin a rozbaľte ho:

Odstraňujeme súbory a adresáre, ktoré nepotrebujeme, vrátane adresára našej www domény – za predpokladu, že tam nemáte nič, čo potrebujete. Ak ho nevložíte do koreňového adresára stránky alebo je niečo potrebné v adresári stránky, nie je potrebné odstraňovať adresár domény www:

Vyberte adresár s inštalačným programom vBulletin a premenujte ho:

Ako názov adresára zadajte názov našej stránky:

Prejdite do sekcie "Databázy" ovládacieho panela hostingu:

Vytvorte novú databázu MySQL a používateľa s plnými prístupovými právami k nej:

Upozorňujeme, že používateľ aj databáza automaticky dostali predponu na základe názvu vášho účtu na hostiteľskom serveri:

Prejdeme na hlavnú stránku nášho webu a zobrazí sa nasledujúca chyba vBulletin:

Do panela s adresou zadáme cestu k inštalačnému programu, pridáme „install/install.php“, po ktorom sa spustí inštalačný program fóra vBulletin:

Inštalačný program vBulletin skontroluje prítomnosť nasledujúcich súborov:

Ďalším krokom je kontrola pripojenia k databáze, neprejde - pretože... Konfiguračný súbor fóra obsahuje nesprávne údaje:

Vrátime sa do ovládacieho panela hostingu, správcu súborov, prejdeme do adresára s fórom a potom do podadresára „includes“. Otvorte súbor "config.php":

Do konfiguračného súboru zadáme správne údaje z databázy, potom ho zatvoríme:

Vraciame sa na stránku, k inštalatérovi. stlačte "F5", tentoraz je všetko v poriadku, pripojenie k databáze sa zväčšilo:

Inštalátor vBulletin vytvára tabuľky v databáze:

Inštalátor vBulletin mení typy niektorých tabuliek:

Údaje sa vkladajú do databázy:

Importované jazyky:

Importujú sa štýly:

Pomoc je importovaná:

Nedotýkame sa predvolených nastavení, inštalačný program vBulletin určil všetko správne:

Importujú sa predvolené nastavenia:

Zadajte podrobnosti správcu vBulletin:

Administrátor vBulletin bol úspešne pridaný:

Inštalácia vBulletinu na hosting bola úspešne dokončená:

Podľa poslednej rady inštalátora odstráňte nepotrebné súbory:

Môžete prejsť na fórum vBulletin, aby ste sa uistili, že všetko funguje správne:

VBulletin ponúka všetko, čo môže správca fóra potrebovať. Podcasting, podpora multi-citovania, rozdelenie do komunít a skupín, reputácia používateľov – to všetko je dostupné v základnej konfigurácii, ktorú je možné rozšíriť inštaláciou rozšírení tretích strán.

Motor vytvára vysoké zaťaženie servera, najmä po inštalácii doplnkov a skriptov tretích strán. Pre bežnú prevádzku si teda budete musieť kúpiť bežný hosting – zabudnite na bezplatné ponuky a juniorské plány za groše, ktoré web vizitky dokonca spomaľujú. Čím vyššia prevádzka, tým väčšia záťaž na server, takže šírku pásma musíte brať s rezervou. Najlepšie neobmedzené.

Na hostingu nemôžete ušetriť aj preto, že Vbulletin je určený na vytváranie veľkých projektov. Engine je odolný voči hackerským útokom a spamovým útokom, takže návštevníci sa môžu cítiť bezpečne. Moderátor bude potrebný, ale nie na čistenie vlákien reklamných príspevkov, ale na riadenie diskusií.

Na základné prispôsobenie vzhľadu, pridávanie a úpravu stránok môžete použiť vstavaný návrhár. Ak chcete prejsť na stránku, musíte sa prihlásiť pomocou účtu správcu. Vedľa používateľského mena je prepínač, ktorý by mal byť nastavený na možnosť Zapnuté. Po opätovnom zadaní hesla sa stránka otvorí v dizajnovom režime.

V návrhárovi môžete pridať stránku, presunúť na ňu prvky a potom pridať odkaz na stránku do hlavnej ponuky lokality. To všetko sa robí rovnako jednoducho ako vo vizuálnom dizajnérovi. Globálne prispôsobenie rozhrania si však bude vyžadovať programátorské zručnosti, ktoré je možné použiť na paneli správcu.

Pre používateľov, ktorí nechcú interagovať so serverovou infraštruktúrou, vývojári ponúkajú riešenie vBulletin Cloud. S jeho pomocou môžete získať plne funkčné fórum so všetkými administratívnymi funkciami, ktoré obchádzajú fázy sťahovania, inštalácie a konfigurácie motora. V podstate po zakúpení plánu všetko, čo musíte urobiť, je prispôsobiť stránku tak, aby vyhovovala vašim potrebám predtým, ako na ňu spustíte návštevníkov.

Dizajn

Na oficiálnej stránke motora si môžete stiahnuť témy pre základný dizajn. Ľahko sa inštalujú na stránku a možno ich zmeniť podľa želania správcu webu. Na správu štýlov je v administračnom paneli sekcia Reklama. V ňom môžete:

  • Zmeňte alebo pridajte pozadie stránky.
  • Namiesto pozadia pridajte obrázok.
  • Upravte súbor štýlu.

Základné zmeny je možné vykonať prostredníctvom konštruktora. Ak chcete napríklad zmeniť logo, musíte otvoriť kartu Hlavička a nahrať príslušný súbor. Na karte Navigačný panel môžete spravovať hlavnú ponuku lokality: pridávať a odstraňovať odkazy na iné stránky, meniť ich poradie, priraďovať názvy.

To si nevyžaduje programátorské zručnosti, to znamená, že aj začínajúci webmaster, ktorý nikdy nepracoval s nástrojmi fóra, môže vykonať základné nastavenia vzhľadu.

Optimalizácia pre vyhľadávače (SEO)

CMS vBulletin nemá špeciálny modul na optimalizáciu pre vyhľadávače. To však neznamená, že nie je potrebné pracovať na fóre. Na stránky sa vzťahuje požiadavka, že musia mať značku H1, ktorá sa používa na určenie témy stránky pre robota. Ak chcete nastaviť indexovanie, musíte upraviť súbor robots.txt – tipy, ako ho správne naformátovať, nájdete na fórach venovaných stránkam vBulletin.

Optimalizácia pre vyhľadávače je do značnej miery viazaná na zapnutie alebo vypnutie jednotlivých funkcií. Napríklad pre uloženie kódu je potrebné vypnúť skokové menu. Takýchto drobností je veľa, dozviete sa ich len na špecializovaných fórach – v pomocníkovi vBulletin nič také nie je.

Na pridanie nových funkcií sú k dispozícii SEO pluginy. Najznámejší je VBSEO. S jeho pomocou môžete optimalizovať fórum tak, aby spĺňalo požiadavky vyhľadávačov: nastaviť presmerovania, odstrániť duplikáty a vylúčiť jednotlivé stránky z indexovania. Hlavnou nevýhodou je, že VBSEO vytvára dodatočné zaťaženie servera, ktoré je už na CMS dosť veľké.

sadzby

Doživotná licencia s ročnými aktualizáciami bude stáť 250 USD. Za tieto peniaze sú k dispozícii všetky funkcie motora:

  • Vstavané aplikácie: fórum, skupiny, ankety, blog.
  • Nástroje na optimalizáciu pre vyhľadávače.
  • Profesionálna podpora.
  • Flexibilné nastavenia rozhrania.
  • Ovládacie panely pre všetkých účastníkov: administrátor, moderátor, používateľ.
  • Nástroje na správu používateľov.

250 dolárov nie je konečná cena. Za tieto peniaze si kúpite iba právo používať motor doživotne.

  • Ak chcete naďalej dostávať aktualizácie, musíte zaplatiť 209 USD každý rok. Vývojári ponúkajú aj platené doplnky:
  • Odstránenie značky v päte z celého webu je jednorazový poplatok vo výške 169 USD.
  • Ďalšia telefonická podpora alebo podpora lístkov je 49 USD mesačne alebo 329 USD ročne.
  • Profesionálna inštalácia alebo upgrade motora - jednorazový poplatok 149 USD.

Ak chcete, aby fórum vyzeralo dobre na menších obrazovkách, môžete si zakúpiť Mobile Pack. Licencia bude stáť 399 USD a obnovenie bude stáť 359 USD ročne. Mobilná verzia stojí samostatne 199 dolárov. Bez neho je možné fórum normálne používať iba na počítači.

Pri výbere vBulletin Cloud sú k dispozícii tri plány: bronzový, strieborný a zlatý. Všetky ponúkajú:

  • Automatická aktualizácia na najnovšiu verziu systému.
  • Používanie serverov optimalizovaných pre vBulletin.
  • Zmeňte dostupné miesto na disku podľa svojich potrieb.
  • Automatické vytváranie záloh.

Minimálny plán stojí 19,95 USD mesačne (14,99 USD, ak sa platí ročne). Ponúka šírku pásma 25 GB, bezplatnú podporu a bezplatnú doménu. Toto je vynikajúce riešenie pre malé fóra s nízkou návštevnosťou.

Strieborná teraz stojí 39,95 USD mesačne (29,99 USD, ak sa platí ročne) a poskytuje 75 GB šírky pásma, ako aj podporu prostredníctvom lístkového systému. Tento plán je vhodný pre rastúce komunity so strednou návštevnosťou.

Najvyšší plán je zlato za 74,95 USD mesačne (59,99 USD, ak sa účtuje ročne). 200 GB šírka pásma, bezplatná telefonická podpora. Optimálne riešenie pre veľké fóra.

Výhody a nevýhody

VBulletin existuje už veľmi dlho, takže má rozvinutú používateľskú komunitu, podrobnú dokumentáciu a množstvo súvisiacich materiálov: témy, šablóny, rozšírenia. Medzi ďalšie výhody uvádzame:

  • Veľké množstvo dizajnových motívov.
  • Možnosť rozšírenia funkcionality inštaláciou pluginov a modulov, ktorých je už viac ako 1000.
  • Jednoduché nástroje na tvorbu obsahu a správu webových stránok.
  • Zjednodušené prispôsobenie dizajnu.
  • Rýchla publikácia fotografií a videí užívateľmi.
  • Optimalizované pre mobilné zariadenia pri kúpe príslušného balíka.

Ak ste predtým používali iný nástroj fóra, bude trvať dlho, kým si zvyknete na administratívny panel VBulletin. Nie je to zlé – len nezvyčajné a v niektorých momentoch nepohodlné.

VBulletin mal vždy vysoké zaťaženie servera, najmä pri inštalácii viacerých rozšírení. Toto je potrebné vziať do úvahy pri výbere hostingu a zahrnúť do rozpočtu, aby ste si mohli kúpiť plán s väčším výkonom. Náklady sú veľmi vysoké a určite nebudete môcť ušetriť peniaze - riskujete tým, že fórum „spadne“, keď dôjde k prílevu návštevníkov.

Po zmene vývojového tímu vyvstáva veľa otázok o bezpečnosti motora. Najstabilnejšou verziou zostáva 3.8. Štvrtá a piata verzia neustále dostávajú bezpečnostné aktualizácie, ktoré naznačujú, že vývojári po vydaní produktu opravujú diery.