Obsah fóra O webu Provoz Chyby platformy phpBB

Chyby platformy phpBB

Zde můžete hlásit provozní problémy, dotazy, chyby, návrhy na změny apod., naleznete zde také podrobnější informace k provozu.

Příspěvek úte 13. lis 2012 11:12:16
root Moderátor

Příspěvky: 33
3.0.10
Chyba? Nefunguje funkce ignore (Nepřátelé) na SZ (PM) mezi USRS (u ADM/MOD to pochopitelně nemá smysl).

Příspěvek úte 13. lis 2012 11:13:45
SYSTEM Administrátor

Příspěvky: 53
3.0.10
Chyba? Nefunguje funkce ignore (Nepřátelé) na SZ (PM) mezi USRS (u ADM/MOD to pochopitelně nemá smysl).

3.0.10
Ve FAQ je to zastaralé, tenkrát ještě phpBB fóra neměla pravidla (filtry) a ignore (friends/enemies lists).
Popisek tady je koukám taky špatný, neaktuální, Nepřátelé už nemají funkci ignore u SZ, pro ignore SZ (PM) si vytvoř filtr (pravidlo).
Další generace phpBB by měla přinést inovace a revize (více)... Snad taky integrovaný chat v základu apod.

Mě napadlo, že při registraci to vlastně nenabízí M/Ž, což by asi mělo (ranky a jiné odlišení)...
Obrázek

Příspěvek úte 13. lis 2012 11:16:36
SYSTEM Administrátor

Příspěvky: 53
3.0.11
Byla vydána oficiální česká lokalizace, fórum aktualizováno.
Současná použitá lokalizace tedy: čeština (oficiální). (.zip archiv, v Opeře se to hlásí jako .wmv video)

Taktéž provedeno pár úprav a nahodil jsem na testování podporu RSS (ATOM), link, nechápu, proč se tu někde neobjevila globální ikonka RSS... Jak bude čas, ještě si s tím trochu pohraju a poladím export.

Velký bezpečnostní problém současného phpBB fóra třetí generace je v tom, že se po přihlášení nezobrazuje něco jako: Naposledy přihlášen z ($GEOIP_COUNTRY_NAME) z IP ($_SERVER['REMOTE_ADDR']/[$_SERVER['HTTP_X_FORWARDED_DOR']) přes ($_SERVER['HTTP_USER_AGENT']). V Uživatelském panelu by pak měla být k nahlédnutí Historie přihlašování (nejen čas a datum). Nedejbože, aby měl někdo s právy slabé heslo, v takovém případě by mohl potenciální útočník fórum zničit a muselo by se obnovovat ze zálohy, prostě ta hláška je základ, má to tam být, všechny seriosní větší IT systémy tento bezpečnostní element mají (viz e-maily třeba, internetbanking etc.).

Další slabina (bug phpBB třetí generace): na KAŽDOU akci by měl být speciální (nejlépe SHA-1 hash, prostě ne MD5), již ČÁSTEČNĚ funguje, ale jen částečně, na něco, protože stačí, abych někomu poslal link, nejlépe tady přes fórum (zajištěno přihlášení oběti), třeba: mrkni na tenhle obrázek hxxp://neco.nekde/bbb.jpg – ve skutečnosti je bbb.jpg adresář a přesměruje návštěvníka na hxxp://neco.nekde/bbb.jpg/index.php, kde může být img src s tím obrázkem, takže oběť nic nepozná, ale hlavně na pozadí té stránky mohou být třeba iframy (plovoucí rámy) nebo jinak načtené formuláře, skripty... a přes $_GET, $_POST se dá takto jednoduše manipulovat s účtem uživatele (clickjacking) a je-li to uživatel s právy, tak... raději nedomýšlet.

V kombinaci s tím, že to někdo dělá přes anonymní IP adresu (proxy, VPNko, síť typu TOR, anonymizéry etc.), tak je útočník prakticky nedohledatelný (nepostihnutelný), stačí pak s anonymní IP začít registrací e-mailu, třeba na Gmail.com (neodesílá IP), a pak pokračovat v činnosti a použít třeba změnu IP každých 60 sekund... Nedohledatelné. V kombinaci s tím, že si v browseru na první tab vytáhnu třeba první téma a nastavím autorefresh téhle stránky na 5 sekund třeba, tak správce (MOD, ADM) nemá šanci zjistit, co páchám na fóru (třeba přes Kdo je online?).

(Jasně, nemá se klikat na to, co neznám, zvlášť když jsem přihlášený v nějakém systému, ale phpBB má být na to, jako každý správně navržený IT systém, imunní, blbuvzdorný.)

Případně stačí do podpisu umístit (v tagu IMG) hxxp://neco.nekde/script.php a místo toho, aby to zachytávalo IP a další info serveru, zachytává to údaje uživatelů.
Chtělo by to pořádně otestit sesny, cookiny na pozadí, co lze, co nelze... podrobně.

Krádež cookies se dělá normálně, použije se $cookies = $HTTP_GET_VARS a máme cookies uživatele (ten, co na to klikl z fóra, webu, na odkaz), teď už stačí jen jeho kukinu použít a jsme za něj přihlášení, jednoduché, nicméně chce to pořádně otestovat.
Obrázek

Příspěvek úte 13. lis 2012 11:21:55
root Moderátor

Příspěvky: 33
3.0.11
Pokud se smazaný user po čase na fóru znovu zaregistruje (jeho příspěvky byly ponechány) a při registraci sedí údaje: IP (hostname), hash (heslo), e-mail a login (nickname) je stejný, mělo by to identifikovat stejného uživatele, zaktivnit staré zamražené příspěvky, což se koukám neděje.

Příspěvek sob 17. lis 2012 3:13:33
SYSTEM Administrátor

Příspěvky: 53
3.0.11
Prošel jsem si soubory aktuální verze češtiny (1.6) z phpBB.cz, protože se mi zdálo, že nacházím moc chyb (k fóru verze 3.0.11). Opravil jsem mnoho desítek chyb (většinou překlepy, typografické chyby jako dvě mezery atp.), podněty (opravené soubory) už jsem jim poslal, tak snad brzy vyjde nová verze české lokalizace fóra i pro ostatní, tady na webu (fóru) už ta oprava nahraná je.
Nebyla to kompletní korektura, jen takový hotfix, jen to na co mě upozornil Word, kopíroval jsem to vždy z Notepadu++ do Wordu pro lokalizaci chyb (červená/zelená podtržení, kód a texty jsem ignoroval.)

(Taktéž upozorněn autor stylu Absolution, Christian Bullock, na několik bugů v tomto jeho stylu.)
Aktualizace budou samozřejmě průběžně nasazovány.
Obrázek

Příspěvek stř 18. zář 2013 19:42:40
root Moderátor

Příspěvky: 33
3.0.11
Zde je souhrn některých chyb po delším provozu phpBB fóra:
1) V Kdo je online? se (pouze administrátorům, resp. všem těm kteří mají chybně administrátorské oprávnění Spravovat uživatele) pod user-agentem nezobrazuje referer (odkud uživatel přišel), docela to tam chybí (user-agent tam je). Určitě je na to samozřejmě plugin/mód, ale to není ono, nasazovat tam něco, co se musí zvlášť udržovat, aktualizovat atp. Je nutné chodit do statistik serveru. K oprávnění: Jak si je možmé všimnout, na mnoha fórech, např. Viry.cz/forum, je chybně nastaveno (pro pohodlnost administrátorů) toto oprávnění i některým moderátorům, nejen, že pak i moderátor vidí IP adresu založení, user-agenty, může také měnit komukoliv podpis, mazat avatar, ale také vidí e-maily (ty normálně moderátoři nevidí, jen změnu) a především, mohou komukoliv, tedy i administrátorovi, nastavit jaké chtějí heslo a jednoduše tak tedy přes tento účet lze získat administrátorská oprávnění. Platí zásada (striktní omezení), že moderátor by nikdy (a nikde) neměl vidět ani ten odkaz dole Administrace fóra (neměl by mít do Administrace vůbec přístup), je to obrovské bezpečnostní riziko. Opět si vypůjčme příklady z již zmíněného phpBB fóra... Moderátorů je samozřejmě většinou obecně mnohem více než administrátorů a tedy se rozšiřuje i okruh lidí, kterým může být snadno odcizena cookie(s) (viz předchozí příspěvky), zneužito (či bruteforce prolomeno) heslo, kompromitace/zneužití atp. Stačí měnit IP při bruteforce, limity (politika) není nijak striktní a je předvídatelná (phpBB je samozřejmě opensource).

2) Teď chyba, kvůli které je vidět na mnoha fórech do administrátorské či skryté sekce*). Ten obsah je prostě viděn přes vyhledávače, např. je zaindexovaný Google.com. Využívá chybné výchozí nastavení skupiny Boti. Tato chyba má rozsáhlé využití (nejen phpBB fóra), umožňuje např. stahovat z webu Primat.cz jakékoliv soubory bez registrace, vyhledávání na WarCenter.cz opět bez registrace či přihlášení a spoustu dalších věcí.
Chybu jsem popsal v roce 2008 takto:
Chcete si pročítat některá fóra, aniž byste se museli registrovat nebo žádat o povolení admina?
Odzkoušeno na phpBB fórech, ale je to možné samozřejmě prakticky kdekoli je povolen přístup botů, třeba Google bota, samozřejmě to může být i jiný bot, např. Yahoo, Bing atp.

Určitě jste si někdy všimli, že v údaji Uživatelé: (dole) je někdy vidět i šedý nápis, třeba Google [Bot], nejde na něj kliknout, protože de facto nemá profil. A právě tohoto využijeme.
Práva pro obyčejného anonymního guesta (návštěvníka), jsou vždy vymezena a většinou i otestována.
Ale boti (např. onen nick Google [Bot]) má někdy zpřístupněno prakticky vše, co běžný registrovaný uživatel a někdy i něco navíc,
např. uživatelsky zaheslované galerie atp. a to kvůli indexování a zpracovávání obsahu (prostě abychom je potom mohli vyhledat přes Google.com). Tedy stačí nám se za tohoto uživatele vydávat.

Nejdřív jsem myslel, že aby server fóra pravého robota (třeba Googlu) rozpoznal, ověřuje u něj několik relevantních údajů, které zanechává při návštěvě jakéhokoli webu, třeba onen Google bot:

Date, time: XX.XX.2008, XX:XX:XX
IP address / hostname: 66.249.72.49 / crawl-66-249-72-49.googlebot.com
Proxy: none (or anonymity)
User-agent-string: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Referer: direct-link (or censored)

Přičemž poslední tři z těchto získaných hodnot jsou prakticky bezcenné, protože se dají velmi lehce spoofovat.

Domníval jsem se tedy, že ověřování je asi založeno na porovnání dvou vstupní hodnot, a to HOSTNAME
($hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);) a USER-AGENT ($useragent = $_SERVER['HTTP_USER_AGENT'];).
Přičemž oba tyto řetězce prostě musí někde ve své hodnotě obsahovat *googlebot* (na čemž je tedy založena podmínka).

Pokud ne, je to obyčejný (anonymní) host, pokud to podmínka splňuje, je to (ro)bot.
Tento systém by byl prakticky bezchybný, ALE... ověřování takto nefunguje!
K mému velkému překvapení, mají phpBB fóra svůj ověřovací mechanismus postavený ve výchozím stavu pouze na kontrole řetězce USER-AGENT, který je snad ještě jednoduše editovatelný než vlastní REFERER, což opravdu nechápu.

Jednoduše jsem si tedy vytvořil nový USER-AGENT do kterého jsem překopíroval vstupní orig. hodnotu od bota:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

F5... a mám na fóru zpřístupněny všechny kategorie bez nutnosti nějaké registrace či žádání o povolení. Jednoduché, velmi praktické a také zneužitelné.

Na některých fórech, se mi takto zobrazila i Interní sekce pro administrátory/moderátory...

Pokud používáte FireFox, můžete zkusit např. pluginy jako Refspoof, UserAgent Switcher či lepší Tamper Data.

Pozn. Pozor administrátoři (např. phpBB fór, defaultně červený nick, moderátoři ne) vidí v Kdo je online? i vaši IP, tedy, že jste lognutí za bota (zneužíváte to).

Často nejsou některá skrytá fóra neviditelná pro uživatele (špatná konfigurace) a za bota do nich máte přístup :-)

OBRANA: Botům nezobrazovat tajné sekce (definovat botům práva), ale hlavně chyba platformy phpBB je v tom, že: detekce spiderů by měla být založena i na HOST analýze, nejen USER-AGENTu ve výchozím stavu. IP (hosty) botům se dají sice dodatečně nastavit v administraci fóra, ale všichni administrátoři na to kašlou... lidi jsou holt líní.
Např. na již zmiňovaném Viry.cz/forum jsem si všimnul (relikt minulosti), že jedna bývalá administrátorka jako jediná (pravděpodobně něco testovala a neodstranila se) je členkou ve skupině Boti, je pravda, že na tomto serveru mají vůbec velký chaos ve skupinách, např. zde existují duplicitní skupiny Site Admins i Administrátoři či Globální moderátoři i Moderátoři aj., pakliže má i dnes onen nick nějaká práva (pravděpodobně ano), je možné vyzkoušet spoofovat user-agent a takto (bez příhlášení) získat práva tohoto nicku, pak už jen stačí ideálně administrátorovi resetovat heslo (viz výše) a dílo zkázy je dokonáno. Je správné dodat, že tady jsou na vině spíše administrátoři konkrétního fóra. Samozřejmě tento thread má pouze teoretický a dokumentární smysl popsat chyby phpBB v praxi, nikoliv hackování nějakých konkrétních serverů.
Při zakládání phpBB fóra je potřeba, aby zakladatel správně definoval permissions všech existujících skupin. Vždyť jen na tomto fóru je jich 7! (memberlist.php?mode=group&g=1 stačí měnit parametr na konci od 1 do 7), byť dole v Legendě se zobrazují jen některé (barevné) skupiny. Pro úplnost dodejme: Jistě Globální moderátoři a (lokální) moderátoři, tenhle koncept má smysl až tehdy, kdy je fórum veliké (počet příspěvků/uživatelů) a nemají šanci důvěřovat (znát) všechny moderátory.

3) Jen konstatování: Předpokládám, že tak jak se ubírá postupný vývoj této platformy, přinese další verze (či další generace fóra 4.x.x), přeci jen je rok 2013, buď další pole v profilech ve výchozím nastavení (jako Facebook.com, Twitter.com, Google.com/+ a další), nebo přibude hlubší integrace sociálních sítí do phpBB (4.x.x), což by asi nebylo dobré.

4) Na XSS je už tato generace phpBB poměrně značně odolná, např. mne napadlo spoofnout user-agent (<script>alert('XSS');</script><b>test HTML</b>) a mnohá další místa vhodná pro injektáž, vždy se platforma zachovala správně. (Pro úplnost dodám, že při změně refereru dochází vždy k odhlášení.)

5) Chybně se zobrazuje info (Kdo je online?), že návštěvník, i když nemá potřebná práva natavena, např. píše zprávu, prohlíží moderátorský panel atp. Dělá to opět na všech fórech, je to chyba; jen zkoušejí direct-linky typu $_GET, $_POST phpBB spoofy, Uživatelský panel: ucp.php Moderátorská panel: mcp.php Administrátorský panel: adm/index.php je to spíš chyba zobrazení informací než bezpečnostní chyba.

*) Např. fórum, dnes již neexistujícího, herního serveru ProphetsLair.net a jeho legendární špatně nastavené phpBB fórum (dostupné z archivu Google.com).

Příspěvek stř 11. pro 2013 2:01:19
SYSTEM Administrátor

Příspěvky: 53
3.0.12
K české jazykové mutaci
Zatím nebudeme updatovat na 3.0.12, nejsou tam žádné technologické novinky, ty budou beztak až v 4.x.x, na které už se dělá, ale... já bych i updatoval, jenže ti diletanti zřejmě nezapracovali moji češtinu (pravda, posílal jsem to neoficiální cestou) a oni vychází z té staré chybové zřejmě, kde jsem opravil mnoho desítek chyb tenkrát (viz výše) ... Nekontrolovali to beztak nyní a jen navíc přeložili těch pár nových řádků (rozdíl mezi 3.0.11 a 3.0.12), jak jsem četl... a já teď nemám čas, dělat kompletní korekturu pro phpBB.cz ofic. CZ pack, registrovat se na místní fórum a popsat jim řádek po řádku, kde jsem co opravil, je to práce na celý den... Takže zatím necháme tuto verzi. Až budu mít čas někdy, udělám to tady a pak jim hodím odkaz.

...a navíc ani autoři, jako Christian Bullock (autor skinu Absolution) a jiní, ještě nevydali nové skiny upravené pro tyhle verze, takže na to kašlem pro teď. A není pravda, že staré skiny sedí na nejnovější verze, skoro vždycky jsem tam našel problémy (většinou v těch novinkách).
Obrázek


Zpět na Provoz

cron