SG.hu·

A Firefox 2 és az IE7 is bedől a hamis oldalaknak

A Mozilla Firefox 2 és a Microsoft Internet Explorer 7 egyik gyenge pontja lehetővé teszi, hogy a támadók ellophassák a felhasználók jelszavait. A trükköt már sikerrel alkalmazták a MySpace.com oldalain.

Az RCSR-nek (Reverse Cross-Site Request) hívott kijátszhatósági pont révén a kártevők hamis bejelentkező űrlapokon könnyedén tulajdoníthatják a felhasználók jelszavait, ugyanis a Firefox Password Manager automatikusan kitölt minden elmentett felhasználónevet és jelszót. A Chapin Information Service állítása szerint ezután az adatok már automatikusan átkerülnek a támadó számítógépére - persze a felhasználó tudta nélkül.

Robert Chapin, a hiba felfedezője elmondta, hogy a trükköt már sikerrel alkalmazták a MySpace.com-on és mindenkit érint, aki felhasználó által létrehozott HTML-kód hozzáadását megengedő fórumokat vagy blogokat használ. "A Firefox és az IE-felhasználóknak tisztában kell lenniük azzal, hogy így a megbízhatónak ítélt blogokon és weboldalakon is ellophatják adataikat" - figyelmeztetett Chapin. A myspace-es esetet felfedező Netcraft biztonsági cég szerint a megtévesztő loginoldalt ráadásul a közösségi hálózat saját szerverén helyezték el.

Két héttel ezelőtt a CIS jelentette a Mozillának, hogy a Firefox automatikusan kitölti az elmentett adatokkal az RCSR-es űrlapokat is. A jelek szerint támadások jobban érintik a feltörekvőben lévő böngészőt, mivel az IE csak akkor egészíti ki magától a korrupt bejelentkezéshez mezőket, ha azok az eredeti oldalon tűnnek fel.

Egyelőre még nem érkezett javítás, de a hírek szerint már dolgoznak rajta az Alapítványnál - írja a ZDNet. Azt nem lehet tudni, hogy a probléma a korábbi verziókat is érinti-e. A Secunia biztonsági vállalat mindenkinek azt tanácsolja, hogy a jelszómegjegyzés funkcióját kapcsolják ki a Firefox beállításainál. A CIS arról is beszámolt, hogy az effajta támadások - jellegüknél fogva - igen hatásosak lehetnek a tűzfallal védett gépekkel szemben is.

Kapcsolódó cikkek és linkek

Hozzászólások

Jelentkezz be a hozzászóláshoz.

© mogyi9252006. 11. 28.. 06:49||#34
Ja, és tegyük hozzá, hogy a FF fenti sérülékenysége csak olyan oldalon használható ki, ahol a támadni kívánt user pontosan 1 jelszót mentett el, illetve csak az adott domainen belül lehet alkalmazni, ezen feltételek együttállása esetén viszont észrevétlenül, és majdnem teljesen automatikusan (JavaScript kell hozzá, ha azt akarjuk, hogy a user ne tudjon róla). Tapasztalataim szerint a 2.0 elõtti utolsó FF, az 1.5.0.8 nem érintett a hibában.

A hibához tehát mindenképpen szükség van arra, hogy egy adott domain alá a támadó tetszõleges HTML-kódot tudjon juttatni, ha viszont ezt megteheti, akkor gyakorlatilag minden elõvigyázatlan felhasználótól ki tudja csalni a jelszavát böngészõhiba nélkül is (elég hozzá egy, az eredeti bejelentkezõlap pontos másolata, amelynek onsubmit eseményéhez egy olyan JavaScript eseménykezelõt rendelünk, amely a háttérben eljuttatja a támadóhoz a begépelt jelszót, majd továbbengedi az ûrlapot az eredeti domainre - ennek minden JS-et támogató grafikus böngészõ bedõl).

Szvsz az is elõvigyázatlan felhasználó, aki egyáltalán használja a jelszavak megjegyzése funkciót bármelyik böngészõben, ezek ugyanis többnyire titkosítatlanul pihennek valahol a vinyón, így tehát bárki megnézheti, aki a géphez hozzá tud férni.
© mogyi9252006. 11. 27.. 22:52||#33
A jelszót nem is lehet benne látni. Mindenesetre legyen elég annyi, hogy el lehet lopni bárki felhasználónevét (azaz nem kell hozzá jelszó), és megváltoztatni az illetõ jelszavát. Természetesen aki látott már webet közelebbrõl (webmesterek pl), innentõl el tudja képzelni, hogy mûködik a dolog, aki meg nem, annak egyelõre legyen elég ennyi. Ha most ide leírnám, hogyan kell felhasználót lopni a fórumból, szerinted hányan próbálnának meg minimum moderátor accountokat szerezni?

Küldtem az SG-nek levelet, amint javítják, leírom részletesen, hogy mi volt a hiba (mmint ide, nekik már megírtam). Legyen elég annyi, hogy a saját gépemen beléptem a fórumra, ezt követõen egy másik gépen tudtam használni az accountom, és persze a másik gépen nem jelentkeztem be (és az illetõ géppel nem is vagyunk egy hálózaton).

Egyébként kértem már a moderátorokat, hogy a 23-24-25 üzeneteimet, de ezek szerint eddig nem történt semmi...
© bakagaijin2006. 11. 27.. 14:11||#32
és még a jelszó sincs benne, még csak kódolva sem 😞. legalábbis én nem látom... szip-szip...
© bakagaijin2006. 11. 27.. 14:09||#31
mogyi, nem értem, ez csak az aktuális sg-s adatait látja, pedig a böngészõm full tele van más domain cookie-jaival, jelszavaival (beírtam pár dummy-t)... A nem-sg-seket nem látja 😞. Mit csinálok rosszul?
© mogyi9252006. 11. 26.. 17:33||#30
Csak annyit jegyeznék meg, hogy nem kell semmiféle böngészõhiba, se vírus, se más, hogy gyakorlatilag bármelyik elõvigyázatlan SG.hu fórumozó accountját el tudd lopni...
© wanek2006. 11. 26.. 13:38||#29
Ezt írtam én is.
Az a fajta lopási eljárás akkor mûködik/mûködhet, ha a név/jelszó mezõk kitöltésre kerülnek, teljesen mindegy, hogy ez automatikusan, vagy kézzel beírva történik.
Az, hogy valakinek az összes jelszavát egyszerre ellopják ezzel a módszerrel, az egyenesen baromság.
© Villanypásztor2006. 11. 26.. 12:10||#28
Épp most próbáltam Operával a Chapinos bemutató oldalt és úgy tûnik az Opera értelmesebben mûködik mint az FF, meg az IE.
© beef2006. 11. 26.. 11:54||#27
Operával mi van?
© atlagember2006. 11. 26.. 10:40||#26
A cikkben leírt jelszólopásos módszer akkor is mûködik, ha egy oldalhoz több felhasználónév is tartozik?
(Mert akkor nekem nem tölti ki automatikusan, mert választanom kell.)
© mogyi9252006. 11. 25.. 23:33||#22
Figyu kishaver: hol, mikor és ki állított olyat, hogy a bug nem létezik? A tisztánlátás kedvéért:

1. Nem hív le senki semmit textboxba javascriptbõl. A FF kitölti a név/pass formot, és submitolja, te pedig szerveroldalon megkapod, mit írt be a böngészõ. Sehol semmilyen JS nem kell hozzá. Az kell, hogy te a támadó weboldalon lemásold egy másik weboldal bejelentkezõformját, és tárold a szerveren a kapott adatokat. Jobb fórumoknál ez a lehetõség kizárva, pont a BBCode miatt. Pl. itt SG.hu-n nem lenne lehetõségem a te SG-s jelszavad ellopni, csak ha elõször készítek egy tükröt az SG.hu-ról, és ráveszlek, hogy nézd meg. Véletlenül is megtörténhet, hogy két teljesen különbözõ lap egymástól függetlenül ugyanazt a bejelentkezõ formot használja, pl. a kismillió PHPNuke alapú portál, ezeknél jelenthet hibát ez a bug, de nem a 2.0 elõtti FF változatoknál. Különben már régen felfedezték volna.

2. "másrészt, ha bbcode is van, akkor is az oldal üzemeltetõje (vagy bárki aki lapot tud késziteni rá) ellophatja az összes jelszavadat"
Az oldal üzemeltetõje bug nélkül is megnézheti a jelszavadat, habár jobb helyeken minimum saltolt md5-tel tárolják a jelszavakat, ezért is látsz sok oldalon jelszó-újragenerálást emlékeztetõ helyett. A jelszavadat nem akkor lophatják el, _ha firefoxozol_, hanem ha megjegyezteted vele õket. Én pl. az ilyen feature-öket alapból kikapcsolom minden böngészõben. Ha biztonságos böngészõt szeretnél, használj links-et.

"ügyes fiú, meg is válaszoltad magadnak, hogy hülyeségeket irogatsz...
ajax cross domain bug (felfedezve) még nincs firefoxban, tehát ajax kilõve."

Akkor nézzük meg mégegyszer, ki mit írt. Te:

"Akármilyen oldalról (lehetne az éppen ez a forum is) van rajta egy láthatatlan rész (akár frame) amiben ott vannak az adatokat bekérõ textboxok (de te nem látod) és az oldal irója (vagy éppen valamelyik felhasználó, ha a postjával be tud csempészni valami kódot) egy kis javascriptel le tudja hivni a textboxokba az összes elmentett nevedet-jelszavadat a firefox-ból és elküldeti õket a saját szerveré"

Tehát azt állítod, hogy egy hidden textboxba JavaScript-tel be tudod tölteni a user összes tárolt jelszavát, és submitolhatod a szerverre. Erre én:

"JavaScripttel honnan/hogyan hívod le textboxba a kódot? (Minek ide a textbox? Mehetne egybõl fel a szerverre a név/pass páros AJAX-on - mgj: csak domainen belül.) És utána mit csinálsz vele?"

Kicsit részletesebben: JavaScripttel jelszót lopni az automatikus kiegészítéssel 1 módon lehetne: betölti a FF az oldalt, megtalálja a bejelentkezõformot, és a megfelelõ adatokkal submitolja (a hiba ott van, hogy csak a form szignatúrát veszi figyelembe, a domaint nem), JS-bõl hozzáfûzhetsz egy onsubmit eseménykezelõt az adott formhoz, amelyben egy return false-szal máris megállítottad a form elküldését az eredeti szerverre, viszont a jelszó és a név bennevan. Kiolvasod JS-bõl, majd egy XMLHTTPRequest-en keresztül elküldenéd a saját szerveredre, ha nem lenne letiltva a cross-site scripting, de sajnos akkora exception-t dob egy ilyen kód, mint a ház. Magyarul nem tudsz vele mit kezdeni. Ezzel csak arra szeretnék rávilágítani, hogy a hiba kihasználásához gyakorlatilag NINCS ÉRTELME JavaScriptet használni, és nem is kell. A FF biztonsági rése a HTML-Injection ellen védetlen lapokat érinti (de az ilyen lapok a többi böngészõt is meg tudják trükközni), illetve akkor jelent még gondot, ha két oldalnak egyforma a bejelentkezõformja (pl az egyik egy phishing-site).

Változatlanul arra kérlek, ne szakértsél, ha nem értesz hozzá, vagy írj egy olyan javascriptet, ami a FF szóban forgó sérülékenységét használja ki, akkor bocsánatot fogok kérni. De ilyen JavaScriptet sajnos nem tudsz nekem mutatni.