neprihlásený Sobota, 23. novembra 2024, dnes má meniny Klement
Prehliadače nezvládajú jednoduchý HTML5 skript, šíri sa odkaz DoS-ujúci ich. Ako sa brániť

Značky: webový prehliadačzaujímavosti

DSL.sk, 26.1.2016


Takmer všetky populárne webové prehliadače majú vážne problémy s jednoduchým JavaScriptom volajúcim opakovane HTML5 API History.pushState(), po spustení ktorého prestanú reagovať, vyťažujú CPU a postupne vyčerpajú pamäť.

Problém

Problém je evidentne známy už pomerne dlhú dobu, aktuálne sa ale začal Internetom šíriť odkaz na stránku crashsafari.com využívajúcu tento problém.

Skript na tejto stránke volá stotisíckrát po sebe funkciu HTML5 API History.pushState(). Táto funkcia umožňuje do histórie aktuálnej karty vložiť novú URL bez toho, aby prehliadač URL znovu načítal. Jej použitie by tak teoreticky nemalo byť pre prehliadač náročné.

Predmetný skript ale postupne predlžuje ukladanú URL, ku ktorej vždy pridáva číslo opakovania cyklu.

Vo výsledku tento jednoduchý skript v postihnutých prehliadačoch zaťažuje CPU a začína spotrebovávať veľké množstvo pamäte. Postihnutými sú podľa dostupných informácií všetky najpopulárnejšie prehliadače okrem prehliačov od Microsoftu, najviac prehliadače postavené na jadre WebKit, teda Safari a Chrome. Problémy sa týkajú aj Firefoxu.

Dopady

Presné dopady závisia samozrejme na konkrétnom prehliadači a jeho verzii, na operačnom systéme a zariadení, kde prehliadač beží.


Predmetný skript z crashsafari.com



Prvotný dopad je zamrznutie prehliadača a nereagovanie na vstupy užívateľa.

Safari podľa dostupných informácií veľmi rýchlo končí pádom, na mobilnom iOS to vedie aj k reštartu zrejme GUI operačného systému.

Najlepšie si s problémami podľa skúseností niektorých užívateľov poradí Firefox, ktorý často stihne zobraziť upozornenie na neresponzívny skript a niekedy ho umožní ukončiť.

Problémy samovolným alebo nútením zhodením prehliadača ale nekončia. Hoci predmetná stránka pri načítaní už modifikovanej URL s pridanými číslami zasiela návratový HTTP kód 403, v tele dokumentu sa opäť nachádza predmetný skript a v závislosti na prehliadači môže byť spustený opäť po obnovení kariet po reštarte prehliadača.

Navyše minimálne v prípade Chrome a Chromium, keď skript stihne uložiť do histórie väčší počet URL, sa výrazne spomalia akékoľvek operácie s históriou navštívených stránok vrátane zadávania URL na novej otvorenej karte.

Či sú všetky pády prehliadačov v tomto prípade spôsobené vyčerpaním pamäte alebo či má problém v niektorých prehliadačoch aj bezpečnostné dopady nie je jasné, v každom prípade samotná stránka crashsafari.com by ich mať pravdepodobne nemala. Prehliadačom totiž posiela len jednoduchý obsah, okrem problematického skriptu ešte skript merajúci návštevnosť pomocou Google Analytics.

Ako sa brániť

Keďže užívateľom môže byť poslaný na crashsafari.com napríklad cez skracovacie URL alebo presmerovanie, brániť sa problémom spôsobených samotnou stránkou crashsafari.com je možné a potrebné pomocou zakázania vykonávania JavaScriptu na tejto doméne. Blokovanie je možné zakázať v nastaveniach prehliadača.

Ak už užívateľ crashsafari.com navštívil, po totálnom zamrznutí prehliadača a nemožnosti zatvoriť kartu s otvorenou problematickkou stránkou môže byť rozumné čo najskôr prehliadač nasilu ukončiť napríklad pomocou správcu úloh. Minimálne pri našom teste v Chromium skript veľmi rýchlo zvýši spotrebu pamäti prehliadačom na viacero GB, čo môže v závislosti na platforme vyústiť do problémov celého operačného systému.

Po padnutí respektíve nútenom reštarte prehliadača je optimálne neobnoviť kartu s problematickou stránkou respektíve predtým zakázať skripty na doméne crashsafari.com.

Pre zbavenie sa problému s pomalou prácou s históriou je optimálne tiež odstrániť všetky URL na doméne crashsafari.com z histórie prehliadača.

Samotnej príčine problému sa je možné brániť len úplným vypnutím JavaScriptu, keď podobný skript sa samozrejme môže objaviť na ľubovoľnej podvrhnutej stránke. Problém tak definitívne odstránia až aktualizované verzie prehliadačov. Kedy by problém mohol byť odstránený zatiaľ ale neavizoval žiadny z tvorcov.


      Zdieľaj na Twitteri



Najnovšie články:

Protimonopolný úrad začal prešetrovať, prečo v SR nie sú skutoční virtuálni mobilní operátori
Nový trailer filmu Minecraft
Linux v ďalšej verzii vyradí súborový systém Reiser
Odštartovaná výroba flash pamäte s 321 vrstvami
Apple má prvýkrát použiť vlastný 5G modem v iPhone v marci
Linux dostáva podporu veľkokapacitných pamäťových SDUC kariet
USA požadujú, aby Google predal Chrome a potenciálne aj Android
ISS zvýšila orbitu, aby sa vyhla troskám zo satelitu
Vzniknú fyzické zábavné tematické Minecraft parky
Qualcomm chystá Snapdragon CPU pre lacnejšie PC, majú začínať na 600 dolárov


Diskusia:
                               
 

treba nastaviť všetkým vo firme crashsafari.com ako predvolenú stránku :D
Odpovedať Známka: 10.0 Hodnotiť:
 

nepomoze, modre ecko sa na to vsetko z vysoka vyfaka. bo blbe ecko je tak blbe, ze ani blby skript dobre nepusti :o)
Odpovedať Známka: 7.9 Hodnotiť:
 

My ale vieme, že keby mali nainštalovaný ARCH, tak sa im to nestane :)

Odpovedať Známka: 3.6 Hodnotiť:
 

staci poslat mail obsahujuci link s vyhrou $1.000.000
Odpovedať Známka: 10.0 Hodnotiť:
 

od strycka z nigerie :)
Odpovedať Známka: 10.0 Hodnotiť:
 

JJ. Jeden kolega na to skočil v decembri. Minulý týždeň sa priznal
Odpovedať Známka: 7.5 Hodnotiť:
 

Kde ty preboha pracuješ? Národná Rada Slovenskej Republiky?
Odpovedať Známka: 9.4 Hodnotiť:
 

Já jsem Lukas Vychopen Právní Zástupce a Stoupenec vrchního soudu od Czech Republic, já jsem Osobní Právník k Mr. Miloslav Ransdorf, expertrate, kdo byl poradce s skořápkovou politická strana v Czech Republic.

Na 22nd Ledna 2016, můj klient byla zapojená do mozkový příběh, unfortunately oni přišli o jejich životy nakonec. Od té doby pak, Já jsem dělal několik dotazů k vašemu Obecní úřad pokud jde o lokalizovat jakýkoli jeho prodloužení příbuzní ale celý dokázaný abortive.After několik neúspěšných pokusů, já jsem rozhodl se stopovat jeho příbuzné přes Internet, lokalizovat nějakého člena jeho rodiny ale k žádný využít, od této doby já jsem rozhodl se kontaktovat vás...

www.facebook.com/peklo/posts/10207163160490101
Odpovedať Známka: 10.0 Hodnotiť:
 

So spomalenym a nereagujucim operacnym systemom som vdaka Microsoftu doverne zoznameny, preto predmetny link ani nejdem otestovat.
Odpovedať Známka: 7.1 Hodnotiť:
 

Nemáš "upgradovať"
Odpovedať Známka: -0.9 Hodnotiť:
 

Táto možnosť bola v poslednom release MS Win eliminovaná.
Odpovedať Známka: 6.0 Hodnotiť:
 

Zbabelec.
Odpovedať Známka: 10.0 Hodnotiť:
 

slusne skracovace maju funkciu preview a vies kam
budes presmerovany ale toto sa dopice netyka :-D
Odpovedať Známka: 7.1 Hodnotiť:
 

dopice.sk je serijózni zkracovaš!
Odpovedať Známka: 7.9 Hodnotiť:
 

dopice je slusny skracovac a nepotrebuje nahlad pretoze uz v nazve ta upozorni kam pojdes.
Odpovedať Známka: 9.5 Hodnotiť:
 

ludstvo sa cele storocia, ba az tisicrocia pyta, odkial ide a kam smeruje.
jediny, kto mu dava serioznu odpoved na tuto fundamentalnu otazku je kvaletny slovensky skracovac.
Odpovedať Známka: 10.0 Hodnotiť:
 

...celkom zabava...v linuxe chromium zacalo vytazovat CPU a naplnat RAM...stacilo pkill chromium a pri restore (kedze som nechcel prist o otvorene okna) som len suspendol pripojenie...

Arch linux rocks :P
Odpovedať Známka: 0.6 Hodnotiť:
 

Neklikať na linky tu^ tuˇ a tu>
Odpovedať Známka: 9.1 Hodnotiť:
 

Pale Moon asi na 15s zamrzol a potom sa ma opýtal či chcem skript zastaviť.
Odpovedať Známka: 5.0 Hodnotiť:
 

Príspevok bol zmazaný pre nevhodný a/alebo vulgárny obsah.
Odpovedať Známka: 10.0 Hodnotiť:
 

What the fuck is happening to my computer. What the fuck is happening to my computer!!!
Odpovedať Známka: -2.5 Hodnotiť:
 

Mačičky boli ťu, ťu ťu!
Odpovedať Známka: 10.0 Hodnotiť:
 

Oh nie :(( Najhnovsi iPhone s najnovsim iOS sa normalne za par sekund restartol. Apple opravte to a to hned!!!
Odpovedať Známka: 10.0 Hodnotiť:
 

Príspevok bol zmazaný pre nevhodný a/alebo vulgárny obsah.
Odpovedať Známka: 1.4 Hodnotiť:
 

Príspevok bol zmazaný pre nevhodný a/alebo vulgárny obsah.
Odpovedať Známka: 7.5 Hodnotiť:
 

Na androide 5.1.1 v Chrome mi staci otvorit multitasking menu zatvorit chrome a vsetko je vyriesene.. ziadne restarty ani neresponzivnost zariadenia.. Steve Jobs where is your god now?
Odpovedať Známka: 6.0 Hodnotiť:
 

Neboj sa, Apple uz to riesi a zase bude bezpecnejsi ako kedykolvek predtym!!!
Odpovedať Známka: -3.3 Hodnotiť:
 

ako doprdele mohli standardizovat api manipulujuce historiu?!?!? JS mal vzdy vselijake obmedzenia kvoli bezpecnosti, jednym z nich bol zakazany pristup k historii. Ide ma porazit, ked pridem na nejaku stranku (napr. z gugla), potom dam back a ostavam na tej istej stranke, lebo mi dosrala historiu. Urcite za to mozu neschopni web dizajneri, ktori nevedeli naprogramovat nejaku ficurinu, tak vznikla potreba na prepisovanie historie (puke) Hrom do nich aj celeho javaskriptu s css. Bodaj sa vratila doba o 10 rokov spat, ked tie technologie fakt boli na skraslenie a funkcnost webu. Taka premakana vec ako gugl mapy fungovali aj vtedy a bolo dobre. Teraz mi vypisuje, ze som v lite-mode a moj browser nepodporuje dake veci.. hlavne ze pred rokmi to mohlo ist. Hrom do nich vsetkych
Odpovedať Známka: 2.2 Hodnotiť:
 

dodatok: v mojej linux opere ta inkriminovana stranka spotrebuva cpu, no stale je akoze nacitava (progres). Ked stlacim stop (esc), je po probleme, tak wtf? Ked mi akakolvek stranka zerie cpu, tak stlacim f12, odfajknem javascript a je po probleme, tak wtf? Ako to moze zhodit prehliadac, nebodaj OS? Preco vsetci (no dobre, tak apson profi programatori svetovo rozsirenych sw) neprogramuju jednoduchsie? Mali by menej problemov a pripadne problemy by sa lepsie zvladali.
Odpovedať Známka: 6.7 Hodnotiť:
 

To preco sa vsade tlacia nezmyselne, spomalujuce, otravne javascripty (ajax, jquery, angularjs) a css hacky nie je preto, ze si to vyzaduju uzivatelia, ale preto, aby firmy ktore dodavaju softver, webove aplikacie pre investora/zakaznika, na neho mohli zaposobit nejakymi domnelymi ultra hyper funkciami v snahe ze tym ziskaju konkurencnu vyhodu a dostanu vdaka tomu zakazku ("ale my pouzivame najmodernejsie technologie, najlepsi najpokrocilejsi responzivny dizajn, robime cool singlepage aasynchronne aplikacie, blabla")... a hlavne manazeri v investorskych firmach radi pocuvaju taketo dristy takze su to v podstate oni kto pretlacaju tieto zbytocne otravne......
Odpovedať Známka: 8.8 Hodnotiť:
 

.....antitechnologie do realnej praxe. 99% uzivatelom to akurat lezie na nervy a len sa tomu chtiac nechtiac prisposobuju lebo im vsade psudoIT mudrlanti tlacia do hlav ze prave toto je pokrok. Realita je vsak taka ze najergonomickejsi webovy dizajn a najspolahlivejsia webova technologia su prave tie 10+ rokov stare ktore pouziva doteraz napriklad dsl.sk, a to myslim uplne vazne..
Bud nech sa kompletne vsetci vyjebu na cele html a pridruzene technologie a nech sa vymysli nieco kompletne nove, alebo nech sa pouzivaju na to na co boli naozaj urcene a nie ich znasilnovat na tie moderne otrasne web aplikacie s ktorymi ked musim pracovat tak mi kypi zlc.
Odpovedať Známka: 7.4 Hodnotiť:
 

ti preje*alo z pukesu?
Odpovedať Známka: -6.9 Hodnotiť:
 

moja rec, dal som ti na oba prispevky +, takze mas 10 a mne to medzicasom padlo na 0:)

Uplne suhlasim. HTML je na nieco ine, nez na narvanie 50 pohybujucich sa stranok do jednej stranky. Ked som o nom pocul prvykrat v skole, tak nam povedali, ze je to vraj markup language (cuduj sa svete, ked to ma v nazve), tzn. zapises tam len obsah, co sa ma zobrazit a kazde zariadenie to moze zobrazit inac. Teraz sa zadavatel poserie a dusi dodavatela (resp. dizajner programatora), kym to na kazdom poondenom prehliadaci nevypada na pixel rovnako, cize programator napise 10 IFov pre kazdeho klienta, alebo rovno prilinkuje 2MB skriptov a css, ktore to poriesia. A aj tak to funguje len v 2-3 prehliadacoch, ktore maju zapnute automaticke aktualizacie, inde prd.
http://goo.gl/bURq6R
Odpovedať Známka: 2.5 Hodnotiť:
 

chlapci ked neviete programovat a dizajnovat tak to kua nerobte ... prehliadace sice vedia potrapit so zobrazovanim ale skuseny majster remesla vie comu sa vyhybat ... k znasilnovaniu jazyka .... chlapci tu pistujete a denne si pozerate hudbu na youtube, pocuvate hudbu na soundcloude a ani vyssie spomenuta stara verzia gugl map by nesla keby doslova neznasilnili vtedy dostupne technologie... by ste boli radi keby na kazdej stranke bolo este odporucanie ze najlepsie vyzera v rozliseni 800x600 a ie4
Odpovedať Známka: 0.0 Hodnotiť:
 

Preco nie?

DSL.sk je optimalizovane pre rozlisenie 820x1920 (portrait 21:9), vyzera dobre aj v IE8 a kazdemu sa to paci!

Kvoli tejto stranke mam moj super siroky televizor Philips namontovany v obyvacke na vysku!
Odpovedať Známka: 10.0 Hodnotiť:
 

Palemoon na Ubuntu s rozšírením NoScript:
What were you expecting? Nič sa nedeje.
Spustím skript pre túto stránku ,že čo to robí:
Na niekolko sekúnd je Palemoon zamrznutý ,potom vyhodí dialog na stopnutie skriptu.


Odpovedať Známka: 1.7 Hodnotiť:
 

obecenstvo vstava a tlieska...
Odpovedať Známka: 7.1 Hodnotiť:
 

poculi sme slovo geeekovoooo, aaaaameeeeeen
Odpovedať Hodnotiť:
 

Co strasite na najpopularnejsom prehliadaci links to ide bez problemov...
Odpovedať Známka: 9.1 Hodnotiť:
 

najpopularnejsom :D :D
Odpovedať Známka: -6.7 Hodnotiť:
 

+ za pokus o vtip
- za to ze si zmrsil pointu - pise sa to lynx

Odpovedať Známka: -10.0 Hodnotiť:
 

deleno za to, ze nie si patriot :)

links browser je nas, lynx browser je emericky, nas podporuje obrazky, emericky usenet a ipv6. nas je lepsi, lebo je nas.
Odpovedať Známka: 10.0 Hodnotiť:
 

Co strasite na najpopularnejsom prehliadaci opera 12.16 to ide bez problemov...
Odpovedať Známka: 7.1 Hodnotiť:
 

Aj Edge ma ten script na háku. :)
Odpovedať Známka: 10.0 Hodnotiť:
 

Aj Maniak má na háku.
Odpovedať Známka: 3.3 Hodnotiť:
 

To už vieme dávno.
Odpovedať Známka: 5.0 Hodnotiť:
 

posledna verzia je mimochodom 12.17 aj x86 aj x86-64
Odpovedať Hodnotiť:
 

po chvili vyhodi upozornenie ze script zaneprazdnuje, a ci ho mam stopnut. po stopnuti za objavi ze "co som ocakaval"


Odpovedať Hodnotiť:
 

Pri otvorení linku na telefóne dostatočne zamrzne celí android :D
Odpovedať Hodnotiť:
 

Html nie je scriptovací jazyk. Je to script javascriptu. Aj podľa stránky vidno, že dte zaspali dobu a neviete ani čo kopírujete. Redakviu máte asi pod mostom, lebo ani prevádzkovateľa tohto zastaralého bulváru tu nemáte. :)
Odpovedať Známka: -10.0 Hodnotiť:
 

" webové prehliadače majú vážne problémy s jednoduchým JavaScriptom volajúcim opakovane HTML5 API History.pushState(),"
Odpovedať Známka: 10.0 Hodnotiť:
 

Ale ved to si lahko najdes:

http://whois.domaintools.com/dsl.sk
http://www.finstat.sk/36803162
Odpovedať Hodnotiť:
 

Na 2r Nexuse 5 s čistým androidom nacitava nejaký čas, zožerie všetku voľnú pamäť síce, ale nič sa nedeje, dal som recent apps, dal preč chrome a vybavené . Pamäť ale fakt zozral celú bo ani jedna aplikácia z recent apps sa neotvorila hneď ale všetky štartovali nanovo.
Odpovedať Hodnotiť:

Pridať komentár