Rozpadající se weby při blokování JS

Kamui

Rozpadající se weby při blokování JS
« kdy: 02. 09. 2020, 15:50:26 »
používám Firefox s doinstalovanými doplňky AdBlock a NoScript. A stává se mi taková nemilá věc, že natrefuji na stránky které dělají problémy. Teď naposled Idos. Stránka se načítá, všechno je OK, ale jakmile se načítání ukončí, tak se celá stránka úplně rozpadne. Pokud však stihnu načítání ve správnou chvíli přerušit, zůstane to OK. Z toho usuzuji že tohle je záměr a ne chyba. Nicméně na tom Idosu mi ani vypnutí AdBlocku a dočasné povolení JS z těch asi dvaceti (  :o ) domén co jsou tam nalinkované nepomohlo. Dá se s tím něco dělat? Znám TamperMonkey, možná na tohle existuje nějaký skript, ale já vůbec nevím co bych měl hledat.


Re:Rozpadající se weby při blokování JS
« Odpověď #1 kdy: 02. 09. 2020, 16:16:26 »
Dělá to na většině českých mainstream webů ({idnes,novinky,auto}.cz například), takže bych jako první koukal po nějaké CZ reklamní síti.

Zatím používám řešení "nechodit tam", zdá se že funguje.

Mlocik97

  • *****
  • 830
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Rozpadající se weby při blokování JS
« Odpověď #2 kdy: 02. 09. 2020, 16:17:16 »
Blokovať JS? Nevidím jediný dôvod to robiť.

Re:Rozpadající se weby při blokování JS
« Odpověď #3 kdy: 02. 09. 2020, 16:48:21 »
Keď mi to stojí za to, tak daný odkaz otvorim v inom browseri, konkrétne Chromium.
V úplne krajnom prípade v noscripte nastavím "Set all on this page to Temporarily TRUSTED".
Lepší recept nemám.

Re:Rozpadající se weby při blokování JS
« Odpověď #4 kdy: 02. 09. 2020, 17:11:27 »
@Kamui

Osobně si myslím, že to nemá moc smysl dělat, přináší popsané problémy a užitek není zas tak velký. Nicméně, pokud to chcete takto praktikovat, tak nejjednodušší je mít nainstalovaný druhý browser a ten používat bez těchto serepetiček. Pokud se i tak bojíte o bezpečnost, dá se virtualizovat.


Hamparle

  • ****
  • 360
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Dělají to mimálně tyto
iprima.cz,emimino.cz,osobnosti.cz,cnews.cz,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz,aktualne.cz,aktuality.sk,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,tiscali.cz,blesk.cz,ahaonline.cz,extra.cz,super.cz,auto.cz,maminka.cz,autorevue.cz,lupa.cz,vareni.cz,osobnosti.cz,sport.cz,lidovky.cz,karaoketexty.cz,hnonline.sk,kupi.cz,kinobox.cz,cnews.cz,onetv.cz,zeny.cz,expres.cz,modnipeklo.cz,nasepenize.cz

0) Dělá to vyděračský skript detekující adblock. Funguje zákežřě žě znásilňuje onUnload a běží v evalech a používá krutou obfuskaci a stahuje javascriptový payload v css nebo obrázcích arrow.css a gen/lite_mod.png.

1) Nejjednoduší řešení je blokovat a odstranit cookies na tomto serveru.

2) Jako druhé řešení zakázat  inline scripty

3) Funguje to tak, že když malware v zdrojáku detekuje že browser čistí stránky od humusu, tak nastaví scriptem cookie a možná ještě signaluzuje na doménu prvního řádu (
Podstata je že stránka buď funguje v režimu nákazy a nebo ne. Jakmile dostaneš stránku do režimu nákazy, nic nepomůže, žádné  blokování(jednak bude unikat smetí od tebe(tracking) i k tobě(malware payload třetích stran)  jelikož traffic půjde přes proxy kanál.

4) Tento druh svinstva také používá maskování přes CNAME domény, čímž se snaží ošálit velice jinak účinné blokování domén 3. stran v prohlížeči ( i pokud blokujete v nejpřísnějším režimu cokoliv z 3. strany), jelikož se doména typicky a.centrum.cz, a.prima.cz,a.zive.cz,a.blesk.cz.... tomuto unikne. (doména sice textově patří jako subdoména navštíveného serveru, ale cname záznam ji ukazuje)
- ASI půl rok ublock již s tímto také umí zatočit. Nefunguje to ale ve všech prohlížečích, neboť to vyžaduje přístup k ("raw") DNS.

5) Jako základní kůru, co funguje optimálně( neokleští stránky o JS a umožní cookie na příhlašování, pokud vůbec  webech této cenové kategorie vůbec je toho vůbec hodno si dělat účet) .

Je potřeba do stránky "zasáhnout". mimochodem, ublock posledních verzí umí spoustu zajímavých věcí jako json-prune, fixaci atributů

Kód: [Vybrat]
emimino.cz,cnews.cz,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz,aktualne.cz,aktuality.sk,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,tiscali.cz,blesk.cz,ahaonline.cz,extra.cz,super.cz,auto.cz,maminka.cz,autorevue.cz,lupa.cz,vareni.cz,osobnosti.cz,sport.cz,lidovky.cz,karaoketexty.cz,iprima.cz,hnonline.sk,kupi.cz,kinobox.cz,cnews.cz,onetv.cz,zeny.cz,expres.cz,modnipeklo.cz,nasepenize.cz##+js(abort-current-inline-script.js, kununu_mul)
emimino.cz,cnews.cz,,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz,aktualne.cz,aktuality.sk,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,tiscali.cz,blesk.cz,ahaonline.cz,extra.cz,super.cz,auto.cz,maminka.cz,autorevue.cz,lupa.cz,vareni.cz,osobnosti.cz,sport.cz,lidovky.cz,karaoketexty.cz,iprima.cz,hnonline.sk,kupi.cz,kinobox.cz,cnews.cz,onetv.cz,zeny.cz,expres.cz,modnipeklo.cz,nasepenize.cz##+js(abort-current-inline-script.js, ATOB)
emimino.cz,cnews.cz,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz,aktualne.cz,aktuality.sk,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,tiscali.cz,blesk.cz,ahaonline.cz,extra.cz,super.cz,auto.cz,maminka.cz,autorevue.cz,lupa.cz,vareni.cz,osobnosti.cz,sport.cz,lidovky.cz,karaoketexty.cz,iprima.cz,hnonline.sk,kupi.cz,kinobox.cz,cnews.cz,onetv.cz,zeny.cz,expres.cz,modnipeklo.cz,nasepenize.cz##+js(set-constant.js, adbDetect, noopFunc)
emimino.cz,cnews.cz,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz,aktualne.cz,aktuality.sk,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,tiscali.cz,blesk.cz,ahaonline.cz,extra.cz,super.cz,auto.cz,maminka.cz,autorevue.cz,lupa.cz,vareni.cz,osobnosti.cz,sport.cz,lidovky.cz,karaoketexty.cz,iprima.cz,hnonline.sk,kupi.cz,kinobox.cz,cnews.cz,onetv.cz,zeny.cz,expres.cz,modnipeklo.cz,nasepenize.cz##+js(cookie-remover.js, /^_?adb|gd_p_yes/)
cnews.cz,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz,aktualne.cz,ihned.cz,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,centrum.cz,volny.cz,tiscali.cz,blesk.cz,ahaonline.cz,extra.cz,super.cz,auto.cz,maminka.cz,nasepenize.cz##script:inject(addEventListener-defuser.js, /^(beforeunload)$/)


(víceméně se to skládá ze dvou částí, seznam problémových domén a deklarace)
-> doporučuji si vést seznam hříšníků zvlášť a léčebné kůry "+js(abort/defuser/set-constant) zvlášť a jen pak v editoru rozkopírovat zvlášť.
Tento dlouhý seznam je důsledkem toho, že ublock nedovolí tyto léčebné kůry aplikovat na  *.cz nebo dokonce všude - vždy vyžaduje seznam domén.

6) Jako odbornou kůru je třeba blokovat doménu dopc.cz   ||cloudfront.net/css/arrow.css a gen/lite_mod.png. Abyste mohl blokovat i na routeru, tak zde přikládám seznam (ne nutně všechny jsou kvůli tomuto). Což je jen jako pojistka, aby když narazíte na web, na kterém nemáte léčebnou kůru základní aby vás nepoflusal uplně do bezvědomí, ale jen "fungoval v omezeném režimu"

Kód: [Vybrat]
# grep -Pio "[^/]+cloudfront.net" poissoncdn.conf
dopc.cz
d1iazwv1n1tsyi.cloudfront.net
5u1vg1q28b3w.cloudfront.net
d1hi41nc56pmug.cloudfront.net
d1daeonbqcq0oh.cloudfront.net
d3eyd961wi10bl.cloudfront.net
d10lpsik1i8c69.cloudfront.net
d1fc8wv8zag5ca.cloudfront.net
d1z2jf7jlzjs58.cloudfront.net
d2dpiwfhf3tz0r.cloudfront.net
d2zv5rkii46miq.cloudfront.net
d3n5x2l91yva9h.cloudfront.net
d70shl7vidtft.cloudfront.net
dsh7ky7308k4b.cloudfront.net
dstik9906m659.cloudfront.net
d31qbv1cthcecs.cloudfront.net
dnn506yrbagrg.cloudfront.net
d1oxlq5h9kq8q5.cloudfront.net
mrezadosa.com
mrazadosa.com
mraza2dosa.com
https://cz.mrezadosa.com/gen/lite_mod.png? # javascript ukrytý v pixelech obrázku

7) o blokování reklamních domén jako etarget, imedia.cz, cerebroad.cz,convexexperiments, sklik.cz vůbec není řeč.


koho to zajímá doporučuji "support" bugrtacker listu. Bohužel asi z nějakého určitého dúvodu tam chodí hodně spamu(podobnost s modus operandi tzv.ruských trolllů čistě náhodná).
https://easylist-czech-and-slovak.tenderapp.com/

Bohužel na easylistu o tyto pokročilejší metody nezavadíte. (+js()) dříve +script:inject (). Bez nich to nejde
« Poslední změna: 02. 09. 2020, 17:17:46 od Hamparle »

Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Rozpadající se weby při blokování JS
« Odpověď #6 kdy: 02. 09. 2020, 17:24:55 »
Blokovať JS? Nevidím jediný dôvod to robiť.

Blokuji JS třetích stran. Stáhne se méně dat a zrychlí to načítání stránek, které tak sežerou méně RAM. Užitek je tedy trojí.

Hamparle

  • ****
  • 360
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Re:Rozpadající se weby při blokování JS
« Odpověď #7 kdy: 02. 09. 2020, 17:40:52 »
Blokuji JS třetích stran. Stáhne se méně dat a zrychlí to načítání stránek, které tak sežerou méně RAM. Užitek je tedy trojí.
Nejen skripty, ale cokoli. (což možná rozbije více webů za cenu malého zvýení soukromí a balastu) v obou případech je potřeba je ale potřeba masivní whitelist cdn atd. V tvé případě je potřeba i "malý" blacklist domén za kterých jepotřeba blokovat vše ( sledovací obrázky  pak ty šmejdské beacony a reporty-csp)

6)
Součástí doplňkové kůry je tzv.seznam fragmentů, zachytí to jen část  záškodnického provozu (pohrobků -)
Kód: [Vybrat]
namátkou:
^cpex-skin.js$script,first-party
^cpex-hb-sas-cnc.js$script
multi-sync.$subdocument,script,first-party
^callback=adTrackCallback*$script,first-party
sas.min.js$script$domain=~video.aktualne.cz
*.cz/bservers$xmlhttprequest
*.cz/ball/random=s$xmlhttprequest
*.cz/count/act*FCIDs$xmlhttprequest
c7controller.min.js$script
loader_spark.js$script
hb/prebid*.js$script,first-party

(seznam by byl obrovsky dlouhý)


7) o blokování reklamních domén jako etarget, imedia.cz, cerebroad.cz,convexexperiments, sklik.cz vůbec není pochyb.




8) resumé
nelze  to blokovat na routeru, musí se v prohlížeči. Další problém je že ne každý browser bude umět spolupracovat s těmito "animujícími "pravidly ublocku.

-Nemá cenu blokovat url typu zivecz/kJDLKSJLDKSLKJF7DSDN.LKSJAkksalkd (url s náhodnými znaky)

Proto komu to nejde, nebo nechce se základní či doplnkovou kůrou trávit čas , ať si zablokuje cookies na těchto doménách či skripty.

Případně možné řešení by bylo na routeru: přesměrovat hříšné domény na svůj webserver a dělat proxy (MITM HTTPS), kde je vyléčený server předchroustá a odstraní z toho html zdrojáku problémové sekce.
« Poslední změna: 02. 09. 2020, 17:45:40 od Hamparle »

Hamparle

  • ****
  • 360
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Re:Rozpadající se weby při blokování JS
« Odpověď #8 kdy: 02. 09. 2020, 17:55:50 »
Když už jsem byl v tom, tak dopnlním 6)
Kód: [Vybrat]
hb/prebid*.js$script,first-party
aam/cpex_universal.js
getid/MID*external$$subdocument,first-party
&it=0&gdpr=0&np=0$subdocument,first-party
?predirect=https*$subdocument,first-party
^pixel=*&nid=*&cont$first-party,script
/hb/cnc/$first-party
.cz/*/cookie-html$first-party,subdocument

podstata je že tenhle seznam nikdy nemůže být kompletní jsou to spíš takové úniky, které se dají ještě odfiltrovat ve fázi propuknutí. Samozřejmě nikdy k tomu nedoje, pokud budete používat ochranu a k nákaze nedojde.

Re:Rozpadající se weby při blokování JS
« Odpověď #9 kdy: 02. 09. 2020, 22:46:37 »
Tech 20 JS skriptu na nekterych strankach a reklamy - to je  dobre poznat, kdyz na takove strance jsem - zacne hucet vetrak. A i na RAM to poznas. Kdyz mas takovych stranek otevrenych vic, docela to zpomaluje komp. Bez JS zatizeni CPU minimalni.

Takze ne jen bezpecnost, ale vytizeni PC je duvod k blokaci. Nektere stranky ale bez JS nejdou.

ajne

  • ***
  • 196
    • Zobrazit profil
    • E-mail
Dělají to mimálně tyto
iprima.cz,emimino.cz,osobnosti.cz,cnews.cz,euro.cz,autorevue.cz,slunecnice.cz,idnes.cz,novinky.cz, aktualne.cz,aktuality.sk,info.cz,reflex.cz,zive.cz,mobilmania.cz,e15.cz,tiscali.cz,blesk.cz,ahaonline.cz, extra.cz,super.cz,auto.cz,maminka.cz,autorevue.cz,lupa.cz,vareni.cz,osobnosti.cz,sport.cz,lidovky.cz, karaoketexty.cz,hnonline.sk,kupi.cz,kinobox.cz,cnews.cz,onetv.cz,zeny.cz,expres.cz,modnipeklo.cz,nasepenize.cz

Tak ani jedna z těch stránek není taková, že bych se bez nich nedokázal obejít. Právě naopak, většinu z nich obcházím velkým obloukem :-)

Re:Rozpadající se weby při blokování JS
« Odpověď #11 kdy: 03. 09. 2020, 13:24:48 »
Takze ne jen bezpecnost, ale vytizeni PC je duvod k blokaci. Nektere stranky ale bez JS nejdou.

Proto je to marný boj. Stránek, které se bez JS neobejdou přibývá.
Je lepší hodinu času věnovat vydělávání, než řešení něčeho, kde vývoj utíká vpřed rychleji. Za vydělané peníze, za pár stovek, se dá koupit jak lepší CPU, tak víc RAM. Prakticky všechno kolem nás je škálovatelné, čas života ne.

jouda2

Re:Rozpadající se weby při blokování JS
« Odpověď #12 kdy: 03. 09. 2020, 19:19:03 »
Proto je to marný boj. Stránek, které se bez JS neobejdou přibývá.
Je lepší hodinu času věnovat vydělávání, než řešení něčeho, kde vývoj utíká vpřed rychleji. Za vydělané peníze, za pár stovek, se dá koupit jak lepší CPU, tak víc RAM. Prakticky všechno kolem nás je škálovatelné, čas života ne.
Třeba soukromí si už zpátky nekoupíte, takže snaha vyhnout se sběru dat o sobě dává velmi dobrý smysl, i když stojí spoustu času.
Jinak nevím, mě možnosti pluginu do browseru nechávají celkem chladným, mnohem víc se mi líbí a soukromě používám squida s SSL bumpingem a veškerý provoz se protahuje přes icap, kde se dá zeditovat opravdu cokoli.

Hamparle

  • ****
  • 360
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Re:Rozpadající se weby při blokování JS
« Odpověď #13 kdy: 03. 09. 2020, 23:04:29 »
Třeba soukromí si už zpátky nekoupíte, takže snaha vyhnout se sběru dat o sobě dává velmi dobrý smysl, i když stojí spoustu času.
Jinak nevím, mě možnosti pluginu do browseru nechávají celkem chladným, mnohem víc se mi líbí a soukromě používám squida s SSL bumpingem a veškerý provoz se protahuje přes icap, kde se dá zeditovat opravdu cokoli.
Něco v tom smyslu jsem chtěl dodat. RAM a CPU neumyje ty flusance.

Citace
Jinak nevím, mě možnosti pluginu do browseru nechávají celkem chladným, mnohem víc se mi líbí a soukromě používám squida s SSL bumpingem a veškerý provoz se protahuje přes icap, kde se dá zeditovat opravdu cokoli.
co znamená SSL bumping. Možná je to nějaká terminologie squid pro MITM atd. Používáš to v režimu socks proxy či transparentní proxy? Jak řešíš mismatch certifikátů? icap je co?

Hamparle

  • ****
  • 360
  • junior developer ucho
    • Zobrazit profil
    • E-mail
Re:Rozpadající se weby při blokování JS
« Odpověď #14 kdy: 23. 02. 2022, 12:22:34 »

squida s SSL bumpingem a veškerý provoz se protahuje přes icap, kde se dá zeditovat opravdu cokoli.
Co je zač ten bumping a co dělá icap a jak se v něm edituje