Fórum Root.cz
Ostatní => Odkladiště => Téma založeno: huff 13. 12. 2017, 21:11:26
-
Jak je možné, že ze sptrámek usetreno.cz (neklikat, je tam spousta dalších krimiálních skriptů) chodí XMLHttprequesty na ipinfo.io (bonzuje to nějak ip)? ,což je cizí doména? Je nějak možné nějakým pravidlem blokovat xmlhttprequesty na cizí servery?
-
Standardne maji browsery nastaveno pro ajax neco jako "same origin policy" je mozne ze jsi to vypnul. Ale existuje proxy trik kde smejd stranka muze mit na svem serveru vlastni proxy a servovat scripty tretich stran pres svou domenu coz je pro browser temer nezjistitelne.
-
Vypni si js ... easy.
-
Vypni si js ... easy.
Teda, Vy co rada, to perla.
Doplnil bych, že mezi vhodná řešení patří ještě nechodit na tu stránku, neotvírat prohlížeč, nespouštět počítač, nemít internet a pro jistotu ani elektřinu.
-
XMLHttpRequest muzes poslat kamkoliv. Jestli ti ten server odpovi je jina otazka. Prohlizec tohle nijak neovlivnuje. Jinak by totiz nefungovaly vsechny Google Analytics a podobny. Mozna existuje nejakej plugin, co to umi omezit, ale nijak si nepomuzes. V podstate odstranis ty, kteri vetsinou nedelaj nic nekaleho a nechas ty, co to schovavaji (napr. pres proxy na svym serveru) a jsou skodlivejsi. Jedina moznost jak zabranit XMLHttpRequest je zakazat JS. Jen se priprav na spoustu nefunkcnich webu.
-
Pokud je to na tom serveru povoleno, tak si stránka může posílat co chce kam chce. Stačí aby server vracel v headeru Access-Control-Allow-Origin: * a je to.
Ale i pokud to tak není, tak stále jde používat JSONP...
-
XMLHttpRequest muzes poslat kamkoliv. Jestli ti ten server odpovi je jina otazka. Prohlizec tohle nijak neovlivnuje. Jinak by totiz nefungovaly vsechny Google Analytics a podobny. Mozna existuje nejakej plugin, co to umi omezit, ale nijak si nepomuzes. V podstate odstranis ty, kteri vetsinou nedelaj nic nekaleho a nechas ty, co to schovavaji (napr. pres proxy na svym serveru) a jsou skodlivejsi. Jedina moznost jak zabranit XMLHttpRequest je zakazat JS. Jen se priprav na spoustu nefunkcnich webu.
Tohle neni pravda, pokud se XMLHttpRequest dela na jinou domenu nez aktualni, prohlizec to odmitne, protoze CORS. Koncovy server to muze ovlivnit nastavenim hlavicek
-
No, uplne presne prohlizec posle nejdriv dotaz, kterym zjisti ty hlavicky. Pote pokracuje normalnim dotazem. Takze ad absurdum ten dotaz posle.
Btw to, jestli CORS zafunguje je ciste na prohlizeci. Pokud pouzijes klienta, kterej ty hlavicky ignoruje, tak se vysledek proste vrati. Dokonce si to muzes nastavit v prohlizeci: https://www.thepolyglotdeveloper.com/2014/08/bypass-cors-errors-testing-apis-locally/
-
Zaujaly mě tady 3 odpovědi na 2 téma:
1. Mazak + none_ na téma přesměrování přes proxy, na tom si vyláme zuby dost lidí
sice se to technicky netýká dotazu (protože doslovně to jde na 1st party) to je dost svinstvo, protože to i obfuscuje URL. V html je inline script, který nastaví javascriptově cookie "adb" což způsobí, že sama se stává zdrojem žumpy a i v nejpřísnějším nastavení ublock/umatrix (cokoli 3rd blokovat) to způsobí rozpad designu webu a také že vizuálně projde pár reklam (js kódu mnohem víc).
Tudíž se musí vypnout inline scripty (implementace ublock pro některé browsery umí selektivně blokovat inline scripty s daným výrazem idnes.cz###script:contains(adb), bohužel toto pravidlo nejde aplikovat genericky(na všechny weby), prostě pravidlo musí být definované pro každý server), tudíž je bezstarostnější vypnout inline skripty pro daný server uplně.
Další možnost je zakázat cookies (opět bezstarostně vypnout cookies pro doménu kompletně je jednodušší než hledat doplněk, který umí filtrovat globálně cookie s jménem adb)
Problém toho je, že nevíte, na jaké stránce tenhle hnus běží a na které ne. Při prvním načtení je stránka NEINFIKOVANÁ (neboť neodeslala cookie adb), až po další navigaci na na vás vykydne hnuj. Problém je, že způsobí i určitý "leak informací" na šmelinářské weby ( dnes není riziko webu ztráta dat, ale krádež/únik dat).
Dá se určitým způsobem blokovat "cizí requesty", pokud náhodou stránka je v infekčním režimu, ovšem s ne velkou úspěšností, je na to potřeba filtr requestů z regurních výrazů zjednoušeně jako /[A-Z-a-z_-/]{30,120}/ navíc to i sežere legitimní obsah
Snad jediná naděje je rozeznat infekční režim, že response mají http header X-nginx-proxy antiadblock-* (zhruba). Uměl by někdo naprogramovat userscript nebo spíš extension, který hnoje označené tímto headerem filtroval?
2. CORS dotaz (zjistil jsem že nejdřív pošle HTTP OPTIONS a až pak komunikuje) může leaknout taky nějaká data?
-
2. CORS dotaz (zjistil jsem že nejdřív pošle HTTP OPTIONS a až pak komunikuje) může leaknout taky nějaká data?
Hlavně cílový server ten požadavek neodmítne, takže klient pak může posílat, co se mu zlíbí.