Sziasztok,
Naponta több tízmillióan kattintunk a "Bejelentkezés Google-fiókkal" gombra, szinte már reflexből, feltételezve, hogy a google.com
domain egyet jelent a kikezdhetetlen biztonsággal.
De mi van akkor, ha pont ez a vak bizalom a támadók legújabb és leghatékonyabb fegyvere? A linkelt cikk egy olyan, a valóságban is megfigyelt támadási láncolatot boncolgat, ahol a kiberbűnözők nem egy obskúrus, gyanús domainről, hanem egyenesen a Google egyik hivatalos OAuth végpontjáról (accounts.google.com
) töltöttek be rosszindulatú kódot a felhasználók böngészőjébe.
A módszer pofonegyszerű és épp ezért zseniális: egy JSONP-stílusú callback
paramétert fegyverként használva kerülték meg a legtöbb biztonsági szűrőt és a domain-alapú CSP-ket. A végeredmény? Egy rejtett, perzisztens WebSocket csatorna, ami lényegében egy parancs- és vezérlő (C2) szerverként funkcionált a gyanútlan áldozat böngészőjében, készen arra, hogy valós időben lopjon el például bankkártyaadatokat a fizetési oldalakról.
Ez felvet néhány kényelmetlen kérdést a fejlesztői gyakorlatainkkal kapcsolatban:
- Elég ma már egy
script-src 'self' *.google.com;
egy CSP-ben, vagy ezzel csak hamis biztonságérzetet adunk magunknak? - Hol húzódik a határ a Google (vagy bármelyik nagy szolgáltató) felelőssége és a webfejlesztő gondossága között az ilyen, legitim szolgáltatásokat láncba fűző támadásoknál?
- A "living off the land" támadások korában a reputáció-alapú védelem halott? Bízhatunk-e még egyáltalán a domain nevekben?
A teljes technikai elemzést és a lehetséges védekezési stratégiákat (a szigorú CSP-től a Trusted Types-ig) ebben az elemző cikkben találjátok: https://euroastra.hu/a-megbizhatosag-fegyvere-a-google-oauth-vagy-egy-uj-felhasznalok-elleni-tamadas-lehetosege-tanulmany-a-google-oauthrol/
A TÉMA felvetés célja, hogy NE egymást "kavicsozva" és "leszólva" hanem szakmailag is a témáról beszéljünk. Az MBH Bank és Google online csalás ügy árnyékában ez a téma SOS aktuálissá érett!
- 871 megtekintés
Hozzászólások
Számomra ez eggyel több ok, hogy visszatérjek a Qubes-OS -re. Ennél jobb védelmet nem ismerek, mert ha nincs kikényszerítve a mocskos webre és a bankolásra használt böngésző teljes izolációja, akkor az ember kényelmességből előbb-utóbb ugyanazt az ablakot fogja rá használni.
Az AI -val megtámogatott hackerek előnyben vannak az exploitok megtalálásában a gyártókhoz képest, mert utóbbiaknak még tesztelniük is kéne, ergo okos ember a hackerekre fogad a bukiknál. Ezért a legjobb védekezés, ha az ember kimarad a versenyből, és teljes koncepciót vált. Ez a Qubes-OS.
- A hozzászóláshoz be kell jelentkezni
Sub a témára és egyúttal kérdezném, hogy a Qubes OS hogyan véd ez ellen a támadás ellen, ha mondjuk ugyanabban a sessionben (tkp ugyanabban a megnyitott böngészőablakban) kattintottam a megmókolt gauth weboldalra és mondjuk egy másik tabon fizetek Gpay-el. (Elvi a kérdés, nálam ugyanis a Gpay és minden más elmentett fizetési mód virtuális kártyával történik, amin jelen pillanatban 800 ft van, szerintem ez adhat egyedül biztonságot.)
“The basic tool for the manipulation of reality is the manipulation of words. If you can control the meaning of words, you can control the people who must use them.”
― Philip K. Dick
- A hozzászóláshoz be kell jelentkezni
Ha ugyanabból az ablakból teszed, akkor nem véd tőle, mert nem az a cél, hogy az ugyanabban az ablakban lévő tevékenységeket válassza el egymástól.
A Qube-OS akkor véd meg ettől, ha külön virtuális gépekből származó ablakokat nyitsz meg. Ennek annyiban aládolgozik, hogy ezt nagyon kényelmesen, egy klikkel tudod elérni. Alapból az ablak keretének a színe mutatja, hogy milyen bizalmi viszonyban vagy az ablak tartalmával. A piros böngészőben mehet a pornhub meg a warez. A kékben a social/fórum életedet éled, itt nincs pénzügyi, de van más érzékeny adat, például a HUP -os jelszavad. A sárgában a webshopok, ahol esetleg tárolsz egy virtuális kártyát, rajta valamennyi pénzzel. A zöld keretű böngésző meg nagyjából csak bankolásra van, ebben a böngészőben sosem nyitsz meg random weboldalt.
Ez bonyolultnak tűnik leírva, de nem az. Használni annyival kényelmetlenebb csupán, hogy egy új, más feladatkörbe tartozó browser tab megnyitás egy Ctrl-T helyett két kattintásba kerül.
- A hozzászóláshoz be kell jelentkezni
Ebből ami valóban a pénzedet óvja, az a virtuális kártya használata. De onnantól, hogy gpay-el akarsz fizetni a pornóért, a webshop-ban, meg a szerencsejátéknál, azaz be is vagy lépbe mindegyikben (tehát, ahogy bármely user kényelmesen élné a netes életét), onnantól nem látom mit véd ki a virtuális gépes bohóckodás.
De egyébként szerintem kb ugyanezt a védelmi szintet megteszi egy tök alap firefox, konténerkezeléssel. Nálam az egyik konténerben be vagyok lépve a fizetésre képes gpay fiókommal (virtuális kártyát kötve hozzá), abban nem böngészek, nem töltök le, csak arra használom, ha venni akarok valamit, de még bankolni sem abban a kontérben bankolok. Van amelyik konténerben böngészek, van amelyikben különféle google fiókokkal vagyok belépve ahol admin munkát végzek különféle cégeknek. És a konténerek között nincs átjárás cookie és más tárolt adat szintjén sem. És ugye itt is más-más szinű a tab, tehát pontosan látom, hogy melyik konténerben vagyok.
- A hozzászóláshoz be kell jelentkezni
Ezt a firefox + konténer megoldást nem ismertem, este utánanézek. Mindig meglepődök, hogy hogy hol tart már a tudomány... :-)
- A hozzászóláshoz be kell jelentkezni
Nagyon hasznos, én ezt használom, ez a hivatalos, de lehet van másmilyen is:
https://addons.mozilla.org/en-US/firefox/addon/multi-account-containers
- A hozzászóláshoz be kell jelentkezni
Na de ehhez kell a Google, hogy ne vagy rosszul ellenőrizzen paramétereket azon a végponton, nem?
A fél JSONP Wikipédia oldal ennek a veszélyével van tele és hogy a CORS váltotta valamikor 2009 környékén. :)
- A hozzászóláshoz be kell jelentkezni
Hülyeség ez a cikk, hiszen azt a kódot, ami a callback paraméterben van, ugyanúgy elhelyezhetted volna a HTML-ben közvetlenül is, felesleges kör a JSONP callback.A cikk többi része meg sima reklám, köszi kedves Kóczián Géza.
Értem én, hogy van egy friss cégetek bejegyezve a UK-be egy székhelyszolgáltatóhoz, de nem a HUP-ot kéne használni önreklámozásra.
- A hozzászóláshoz be kell jelentkezni
Azon gondolkodunk, hogy miért de úgy tűnik azért, mert kell az ilyen is mint Te.
Szakmailag semmi, emberileg dettó: ezért a világban a magyarról egy furkálódó...majd nem leirtam mi még, de 20 év angliai élet után, nehéz megítélni nekünk azt, hogy Te ott miért vagy olyan és amilyen.
Mi is vagy te? Egy keserű alias mögé bújt...
Mivel azonban ez egy szakmai fórum, úgy tegyél már hozzá szakmai magyarázatot ehhez is: https://cside.dev/blog/weaponized-google-oauth-triggers-malicious-webso…
..ha már akkora fene nagy hülyeségeket beszélni-tudóként itt...ráfosol másokra...
- A hozzászóláshoz be kell jelentkezni
Kicsit tovább tart megírni a vitatást mint magát a cikket, főleg ha a vitatás nem szakmai hanem sértegetés. ( reagálva arra amiből a kérdésed kiindult)
Ez egy kiváló és logikus felvetés, és felületesen nézve teljesen jogosnak tűnik. Ha egy támadó már képes kódot injektálni egy weboldal HTML-jébe, miért bonyolítaná túl egy Google-ös végponton keresztüli JSONP hívással, ahelyett, hogy egyszerűen beillesztené a payloadot egy <script>
tagbe?
Azonban a helyzet ennél sokkal árnyaltabb, és a támadók pont a modern webes védelmi mechanizmusok kijátszására építettek.
A JSONP callback nem egy felesleges kör volt, hanem a támadás kulcsa, a mesterkulcs, ami több zárat is kinyitott egyszerre.
Nézzük, miért volt ez egy rendkívül ravasz és hatékony lépés:
1. A Tartalombiztonsági Irányelv (Content Security Policy - CSP) kijátszása
Ez a legfontosabb technikai ok. Sok modern weboldal használ CSP-t, hogy korlátozza, milyen forrásokból tölthet be a böngésző szkripteket. Egy tipikus, de gyakran hibásan konfigurált CSP engedélyező listát használ. Például:
Content-Security-Policy: script-src 'self' *.google.com;
Ez az irányelv azt mondja a böngészőnek, hogy csak a saját domainről ('self'
) és bármely Google aldomainről (*.google.com
) tölthet be szkripteket.
Ha a támadó közvetlenül a HTML-be írja a kódot: <script>...rosszindulatú kód...</script>
Ezt a fenti CSP blokkolná, mert az inline szkriptek alapértelmezetten tiltva vannak, hacsak nincs 'unsafe-inline'
direktíva (ami önmagában is rossz gyakorlat).
Ha a támadó egy saját szerverről hívja a kódot: <script src="https://attacker-domain.com/payload.js"></script>
Ezt a fenti CSP blokkolná, mert az attacker-domain.com
nincs az engedélyezett források között.
A támadó tényleges módszere: <script src="https://accounts.google.com/o/oauth2/revoke?callback=eval(atob(...))"></script>
Ezt a fenti CSP átengedi, mert a szkript forrása az accounts.google.com
, ami egy megbízhatónak ítélt és engedélyezett domain.
A támadó tehát a Google domainjének reputációját használta pajzsként, hogy a saját kódját egy megbízható csatornán keresztül juttassa be.
2. Automatikus szkennerek, tűzfalak és DNS-szűrők megtévesztése
Sok vállalati és otthoni biztonsági eszköz (tűzfalak, proxyk, DNS-szolgáltatások) reputáció-alapú szűrést végez.
Egy kérés egy ismeretlen vagy rossz hírű attacker-domain.com
felé azonnal gyanút kelt és valószínűleg blokkolásra kerül.
Egy kérés az accounts.google.com
felé viszont teljesen legitimnek tűnik. A biztonsági eszközök 99.9%-a ezt a forgalmat jóindulatúnak ítéli és átengedi, mivel a Google egy alapvetően megbízható entitás. A támadó lényegében "átmosta" a rosszindulatú kérését egy megbízható szolgáltatón keresztül.
3. Az elrejtőzés (obfuszkáció) és a gyanú elkerülése
Egy eval(atob(...))
kifejezés egy callback
paraméterben sokkal kevésbé feltűnő egy felületes manuális ellenőrzés során, mint egy nyílt, olvasható rosszindulatú szkript a HTML forrásban. Egy fejlesztő, aki a forráskódot átnézi, láthat egy furcsa API hívást a Google felé, de nem feltétlenül ismeri fel azonnal a benne rejlő veszélyt, ellentétben egy egyértelműen rosszindulatú, inline szkripttel.
Az a leszólás amiből a kérdésed lett és az ott megfogalmazott felvetés logikus lenne egy olyan környezetben, ahol nincsenek modern védelmi vonalak.
De a valóságban a támadók pontosan ezeknek a védelmi vonalaknak (CSP, reputáció-alapú szűrők) a megkerülésére tervezték a támadást.
A JSONP callback nem egy felesleges kör volt, hanem egy trójai faló. A "ló" maga a megbízható accounts.google.com
domainre irányuló kérés volt, amit minden kapuőr (tűzfal, CSP) beengedett.
A "hasában" megbúvó katonák pedig a callback
paraméterbe rejtett, kódolt payload volt, ami a falakon belülre jutva már szabadon tudott pusztítani.
Tehát a válaszunk a posztolónak: a cikk nem hülyeség!!! ..de: ha szakmai érvei lennének, bátran vezesse len, szánjon időt a megértésre, magyarázzza el, tegyen szakmai magyarázatot az asztalra!
Azok után, hogy 2 évtizednél több szakmai tudás húzódik meg mögöttünk a témában, elég lenne "csak" - magyarosz szarkenés helyett- szakmai irányból próbálkozni, mert miközben mi az irodánkban ülünk, addig a fotelhuszár leszólásokból egészen tele lesz a tökünk a magyar-efféle-mentalitásból.
..és végül, hogy a pont itt legyen arra bizonyos Í-re:
Pontosan azért nem helyezték el a kódot közvetlenül a HTML-ben, mert azzal azonnal lebuktak volna a legtöbb modern védelmi rendszeren.
Ezzel a módszerrel viszont a támadók a rendszer bizalmát fordították a rendszer ellen, ami egy sokkal kifinomultabb és veszélyesebb stratégia.
Akinek ellenvéleménye van, mert miért ne lehetne, az emberül, szakmai alapon és a személyeskedést mellőzve tegye meg.
Nem mellékesen meg, akinek van kedve, az egy ilyet hozzon össze ha már "beszólni magyar": https://orcid.org/0000-0003-3207-2087
- A hozzászóláshoz be kell jelentkezni
A fenti CSP-be nem kene benne lennie az unsafe-eval opcionak is?
- A hozzászóláshoz be kell jelentkezni
Ez mind-mind álprobléma. Ha a támadó el tud jutni odáig, hogy módosítja a Google Oauth linket (esetleg ő maga szúrja be), akkor ott már el van veszve minden.
Mert a probléma maga az injektálásnak a képessége - ha tud bármilyen google.com-ra mutató linket módosítani, akkor bármi mást is meg tud csinálni, mert ő sikeresen bent van már a rendszeredben, a TLS csatornába bele tudott szólni anélkül, hogy feltűnne stb.
Ugyanez igaz rá, mint a mindenféle RCE-nél: ha a calc.exe-t el tudja indítani, akkor bármi mást is.
Onnantól kezdve kurva mindegy, hogy mi van a CSP-ben, mert azt a response headert is át tudja írni. Ha meg a fájlrendszerhez van hozzáférése, ami kiszolgálja a weboldalt, akkor még nagyobb a baj, és nem a CSP lesz a probléma meg a WebSocket kapcsolat, amit injektált.
- A hozzászóláshoz be kell jelentkezni
Egy fejlesztő, aki a forráskódot átnézi, láthat egy furcsa API hívást a Google felé
Baromira nem a forráskód a lényeg, hanem a weboldal aktivitása, a kimenő hálózati kapcsolatok, ott azonnal feltűnik a plusz WebSocket hívás.
- A hozzászóláshoz be kell jelentkezni
Ez jogos, viszont azt hogy ezt kiszúrja egy átlagember, annak 0 az esélye szerintem.
- A hozzászóláshoz be kell jelentkezni
Nem is átlagemberről beszéltünk itt, hanem fejlesztőről, aki forráskódot néz.
- A hozzászóláshoz be kell jelentkezni
Egy kérés egy ismeretlen vagy rossz hírű
attacker-domain.com
felé azonnal gyanút kelt és valószínűleg blokkolásra kerül.
De akkor meg nem tökmindegy, hogy mi felé akarna nyitni WebSocketet? Hiszen akkor meg úgyis szűrésre kerül az injektált kód, amikor elkezdene működni. Baromira nem érv ekkor az, hogy hogyan kerül be a rendszerbe az a kód, ami amúgy nem tud semmit sem csinálni.
- A hozzászóláshoz be kell jelentkezni
Még egyszer: aki be tud injektálni ilyen Google OAuth végpontra mutató URL-t a weboldaladba, az közvetlenül be tud injektálni bármilyen más kódot is az oldalba, semmi újdonság nincs itt.
Aki ellátogat egy weboldalra, ahol ez a Google OAuth link van, megkaphatja a WebSocketes scriptet a Google OAuth link nélkül is, egyből a weboldalba ágyazva és obfuszkálva. Álprobléma ez az egész OAuth callback paraméterben problémát látás.
- A hozzászóláshoz be kell jelentkezni
meg bizonyára nem lehet észrevenni egy büdösnagy eval()-t :D Jó, hát a content security policy nyilván nem fogja meg.
De egyébként tényleg inkább az a kérdés, hogy mi a pékért van ez ott? Mármint nyilván volt neki valami oka, hogy nem máshova injektálták.
- A hozzászóláshoz be kell jelentkezni
Jó, hát a content security policy nyilván nem fogja meg.
Ha a támadó on-the-fly át tudja írni a weboldal tartalmát, akkor tökmindegy, mi van a CSP-ben. Sőt, szarabb esetben magát a CSP headert fogja módosítani ő, nem csak a weboldalt.
- A hozzászóláshoz be kell jelentkezni
Azt tudnám elképzelni hogy van egy weboldal amelynél valamiért a javascriptek külön helyről (CDN?) kerülnek kiszolgálásra, és a támadó hozzáfér a HTML kódhoz, de a javascript-ekhez illetve a webszerver konfighoz nem. Igy egyetlen támadási felület a HTML kód lesz, és azon belül kellene ügyeskedni. Nem tudom, én ezt ilyen nagyon esetlegesnek érzem.
- A hozzászóláshoz be kell jelentkezni
Hát ha hozzáfér a HTML-hez, akkor már mindegy, mert a valódi probléma az ez a hozzáférés, nem pedig az injektált kód.
- A hozzászóláshoz be kell jelentkezni
A CSide linkhez: az egészből az nem derül ki, ami a lényeg: hogyan került beinjektálásra ez a script tag? Mert abban van a támadás lényegi része, hogy hogyan tudod eljuttatni ezt a script taget a kliensre, mely ponton léptél be a szerver és a kliens közé.
Nem az a lényeg, hogy hogyan működik onnantól kezdve, hogy beinjektálásra került, hanem az, hogy hogyan került a Magento oldalba be a script tag.
Egy exploitnál sem azt kell elemezni, hogy mit csinál, miután bejutott a rendszerbe, hanem azt kell elemezni, hogy hogyan jutott be a rendszerbe. Minden más csak mellébeszélés.
- A hozzászóláshoz be kell jelentkezni
Itt megint csak tippelgetek, de régen simán volt olyan az ilyen PHPBB, Joomla, meg hasonló rendszereknél hogy injection + rosszul konfigurált webserver esetén tudták módosítani akármelyik HTML file-t. Valami ilyesmit tudnék elképzelni itt is.
- A hozzászóláshoz be kell jelentkezni
Na de akkor ott a rosszul konfigurált webserver meg a PHBB/Joomla biztonsági rése a probléma, nem az, hogy Google OAuth callback az obfuszkáció módja. Ez utóbbi nem biztonsági rés.
Az a valódi biztonsági probléma, hogy hogyan tudod ezt az obfuszkált kódot berakni a weboldalba, de erről nem esett szó.
- A hozzászóláshoz be kell jelentkezni
Ott van a threat hogy te vagy mondjuk egy enterprise user és használsz valami izét amit megtörtek (nem a tied). És ezen keresztül már hozzád is bejöttek és lopják az adatodat.
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Írnak neked egy horgászemailhez hasonló dolgot a Google nevében, hogy "itt és itt tudsz akármit csinálni" (pl kilépni, új eszközről bejelentkezést ellenőrizni, stb.) kattintasz és már ott is vagy ahol a part szakad. Ennek a támadásnak én megértésemben az a "szépsége", hogy nem kell semmit mást csinálni, csak meglátogatni a preparált lapot. Azért eddig az csalós oldalakon valamit kellett még valamit tenni, ahhoz hogy becsússzanak dolgok.
A "mit csinál" elemzése sok szempontból nagyon is fontos, mert a viselkedésre lehet építeni detektálást és az arra hivatott eszközben megfogni - itt pl az adott hálózatba irányuló websocket kapcsolatot -, megakadályozni a működését. Ha már átcsusszant minden máson a csali és volt kedves a user benyelni.
Egy csomó más hasznos infó is kiderülhet ami a kárenyhítéskor, felméréskor vagy a készítő utáni vadászatban hasznos lehet.
:)
Szerk: kicsit a Pegasus sztorira emlékeztet, ahol kvázi elég volt megkapni a WhatsApp-ban az üzit, "máris lehallgattak".
- A hozzászóláshoz be kell jelentkezni
kattintasz és már ott is vagy ahol a part szakad.
Hát ha tetszőleges weboldalra kattintasz, akkor tök mindegy, hogy az oldalban milyen módon van ott az ártó script. NEM kell ehhez Google OAuth callback JSONP-n keresztül injektálni a kódot. Ha egy random URL-re ellátogatsz, akkor ott bármilyen kód lehet.
Ennek a támadásnak én megértésemben az a "szépsége", hogy nem kell semmit mást csinálni, csak meglátogatni a preparált lapot.
De a támadásnak midnig az a lényege, hogy a lapot hogyan tudod preparálni - abban van a nehézség, hogy egy legitim URL-en lévő lapba helyezz el rosszindulató scriptet, nem az, hogy ha már tudod módosítani a legitim URL-en lévő oldalt, akkor abba milyen módon obfuszkálva rakod el a scriptedet. A lényeg az injektálás lehetősége, ez a valódi probléma, nem az obfuszkáció módja, az álprobléma.
Az, hogy ha maga a preparált lap egy random URL-en van, ott nem nagy dolog berakni bármilyen scriptet, hiszen azt a lapot a támadó kontrollálja. Ő adja meg a Content-Security-Policy headert és minden mást is.
Itt is az a nagy kérdés, és erre persze nem kaptunk választ, hogy a támadó hogyan kontrollálja azt az oldalt, amit a user megtekint és eközben legitim oldal. Ha a támadónak kontrollja van a weboldal felett, akkor meg édesmindegy, hogy milyen formában juttatja el a scriptjét a user böngészője felé és ott milyen módon van az obfuszkálva, eval() mögé téve stb.
És a Pegazusnál is az a lényeg, hogy hogyan kerül a Pegazus az eszközre (milyen biztonsági résen keresztül), nem az, hogy hogyan álcázza magát, miután már bejutott. Az előbbi a biztonsági probléma, nem az utóbbi. Ha bejut és root jogai vannak, akkor már édesmindegy, hogy egyáltalán álcázza-e magát vagy nem, és ha álcázza, akkor hogyan.
- A hozzászóláshoz be kell jelentkezni
A bejelentkezés ilyen-olyan fiókkal csak szerintem oltári nagy hülyeség? Én értem, hogy kényelmes, nade...
- A hozzászóláshoz be kell jelentkezni
pedig sok helyen használják, mert ugye az oauth identity providernek az is lehet a lényege, hogy egy helyen van eltárolva minden jogosultság, és az egyes app csak onnan veszi, hogy mihez férhet hozzé
4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.
- A hozzászóláshoz be kell jelentkezni
A népnek egy fokkal jobb, mint a mindenféle kódolatlan/kódolt jelszavas, össze-vissza ki tudja hogy megvalósított saját/egyedi megoldás (jelszókezelés, policy, munkamenetek, multifaktorok, captcha, adat és szolgáltatás használati engedélyek, stb).
- A hozzászóláshoz be kell jelentkezni
Számomra a lényege inkább az, hogy előbb bizok meg egy ms-ban, vagy google-ben, hogy biztonságosan tárolja a jelszavamat, és onnan sem nem lopják el, sem nem adja el aprópénzért, mint a kispista bt-nek.
- A hozzászóláshoz be kell jelentkezni
Pont ugyanezt írta le.
- A hozzászóláshoz be kell jelentkezni
Üzemeltetni tök egyszerű, mert nem kell usert regisztrálnod, csak felírod az email címét és kész. Nekem játszósban van ilyenem, hogy meg akarok mutatni egy barátomnak valami webes izét, akkor felteszem egy oauth mögé és hozzáadom az emil cłmét usernek, és már be is tud lépni.
A cikket nem néztem végig: mit kell tennem userként, hogy meghekkeljenek?
- A hozzászóláshoz be kell jelentkezni
A cikket nem néztem végig: mit kell tennem userként, hogy meghekkeljenek?
Az egész olyan helyzetből indul, hogy már meghekkeltek.
- A hozzászóláshoz be kell jelentkezni