Autor Zpráva
Pavel Krátký
Profil *
Zdravím,

na stránce http://pravniknawebe.sk se mi na úplném konci připojil níže zkopírovaný kód.

Vím, co ten kód dělá, ovšem otázka je:
odkud se vzal? Provedl jsem čerstvou zálohu webu k sobě domů a zkoušel najít zdroj, ovšem bez úspěchu. Můžete mi, prosím, někdo poradit, kde po zdroji pátrat (doplňuje mi to "server" poskytovatele?).

Děkuji. P

<html><script language="JavaScript"> var tokenName = 'CSRF_TOKEN'; var tokenValue = '7221e02519232baffe98fd637eaa996880652494'; function updateTags() {         var all = document.all ? document.all : document.getElementsByTagName('*');         var len = all.length;         for(var i=0; i<len; i++) {                 var e = all[i];                                 updateTag(e, 'src');                 updateTag(e, 'href');         } } function updateForms() {         var forms = document.getElementsByTagName('form');                         for(i=0; i<forms.length; i++) {                 var html = forms[i].innerHTML;                                 html += '<input type=hidden name=' + tokenName + ' value=' + tokenValue + ' />';                 forms[i].innerHTML = html;         } } function updateTag(element, attr) {         var location = element.getAttribute(attr);         if(location != null && location != '' && isHttpLink(location)) {                 var index = location.indexOf('?');                 if(index != -1) {                         location = location + '&' + tokenName + '=' + tokenValue;                 } else {                         location = location + '?' + tokenName + '=' + tokenValue;                 }                 element.setAttribute(attr, location);         } } function isHttpLink(src) {         var result = 0;                         if(src.substring(0, 4) != 'http' || src.substring(0, 1) == '/') {                 result = 1;         }                 return result; } updateTags(); updateForms(); </script></html>
lionel messi
Profil
Pavel Krátký:
Můžete mi, prosím, někdo poradit, kde po zdroji pátrat (doplňuje mi to "server" poskytovatele?).
Možno tu Máte na webu virus — co s tím?.

(doplňuje mi to "server" poskytovatele?).
Neviem si predstaviť poskytovateľa, ktorý by sa automaticky staral o akúkoľvek ochranu hostovaných stránok voči CSRF.
Pavel Krátký
Profil *
lionel messi:
Děkuji, to bylo první, co mě napadlo, ovšem poté, co jsem prohledal webové adresáře a nic nenašel, jsem se obrátil sem.

Problém je odstraněn změnou hesla ftp. Vím, který počítač je zavirovaný (k ftp jsem se připojil pouze ze 2 strojů), ovšem na onom infikovaném jsem používal "fintu s pozměněným heslem v TC.

Zajímalo by mě, jak se tam ten kód dostal, když nikde ve webových adresářích není.. to jen kdyby měl někdo náladu na vysvětlování.. Díky
Joker
Profil
To ale nevypadá jako virus.

Snaží se to přidávat k adresám v atributech src a href a k formulářům atribut CSRF_TOKEN s nějakou vygenerovanou hodnotou.
Na pohled to vypadá, že by to mohla být skutečně nějaká snaha zamezit CSRF. Jestli to funguje nebo má nějaký smysl, toť otázka.
Pavel Krátký
Profil *
Joker: díky za komentář

Jestli to funguje nebo má nějaký smysl, toť otázka.
Souhlasím s touto otázkou. Z mého sobeckého pohledu to žádný smysl nemá, protože to není můj kód. Co mě opravdu fascinuje je původní, prostá otázka: jak se ten skript dostal do HTML kódu, když v mém webovém prostoru po něm není ani vidu ani slechu? Jak by v principu bylo možné něco takového udělat "zvenku" (myslím z externího serveru)? Podle mého názoru to nelze - prostě musíte mít ten "škodlivý kód" (Joker má pravdu, tenhle kód neškodí) někde ve svých adresářích. Tam nic není! (Mluvím o té záloze, kterou jsem provedl včera.)

Jo... hmm pak to ještě může dělat prohlížeč - a) proč by to dělal b) a jen u téhle stránky?

Anebo ISP

lionel messi:
Neviem si predstaviť poskytovateľa, ktorý by sa automaticky staral o akúkoľvek ochranu hostovaných stránok voči CSRF.“ Mě ale opravdu už nic jiného nenapadá..


Omluva: nepopsal jsem problém přesně:

Omlouvám se, řetězec se připojí pouze v Mozile Firefox 37.0.1 při zadání url www.pravniknawebe.sk. Mám tu ještě starou IE6 a tam se to neděje, jiný browser jsem nezkoušel / nemám. Takže by se mohlo nechat tvrdit, že to není ani virus, ani záležitost serveru.

Zůstává:

Pavel Krátký:
Jo... hmm pak to ještě může dělat prohlížeč - a) proč by to dělal b) a jen u téhle stránky?
Keeehi
Profil
Pavel Krátký:
Na čem to běží? Nějaký redakční systém, nějaký framework, kód jsi psal celý to od základů?
Kde to běží? Hosting nebo vlastní server? Hlavně mě zajímá, zda by šlo zapnout HTTPS. Tím se dá pak vyloučit vkládání někde po cesě mezi servrem a tebou

Jo... hmm pak to ještě může dělat prohlížeč - a) proč by to dělal b) a jen u téhle stránky?
Napadá mě, že by to mohlo způsobovat nějaké špatné rozšíření nainstalované v prohlížeči.
Joker
Profil
Pavel Krátký:
Omlouvám se, řetězec se připojí pouze v Mozile Firefox 37.0.1
Neřekl bych.
Já ho viděl i v Opeře a když tu stránku otevřu v PSPadu, je to tam taky. Čili prohlížečem to asi nebude.

Spíš jestli používáte nějaký redakční systém apod. (viz [#6] Keeehi), tipoval bych to na něj.
Pavel Krátký
Profil *
Keeehi:
Na čem to běží?...“ nativní PHP, moje skripty, hosting, HTTPS zapnout nemohu / neumím

Joker:
Já ho viděl i v Opeře... a PSPadu“ díky za otestování a info

tak nevim, jdu ještě jednou prolézt zdrojové soubory...
snazimse
Profil
Pavel Krátký:

Podle mě je to obrana proti CSRF. Vypadá, to na vkládání od poskytovatele, prvně bych se zeptal, ale na to svého poskytovatele.
Token se určitě generuje automaticky, spíš si moc nedokážu představit, že by to byl virus.Zvlášť, když jste to tam teď nahodil :)
Joker
Profil
snazimse:
To ale nedává moc smysl, protože aby to fungovalo, je potřeba ještě „protikus“ na serveru při zpracování údajů.
snazimse
Profil
Joker:
To je sice pravda, třeba to tam je, prostě kdyby někdo chtěl, si to napojit na svoje formuláře, kdo ví jak to tam mají.

EDIT: Vrtalo mi to hlavou, tak jsem to trochu okouknul, je to jasné.Už se nemusíš ani ptát.

Měl jsem pravdu ověřeno, skutečně to tam dává hosting, je to sice zvláštní je to asi nějaký bonus navíc.

Tvůj hosting je nethouse.sk. Když se kouknete do zdrojáku třeba sem

view-source:http://www.nethouse.sk/domains_checker.php

, na konci je vkládaný kod, je jasné, že to tam vkládají automaticky.

EDIT2: Tam to dokonce vkládá i do GET do url, špatně jsem se díval
Pavel Krátký
Profil *
snazimse: Joker, Keeehi, lionel messi
Děkuju všem. Pavel
Chamurappi
Profil
Reaguji na snazimse:
spíš si moc nedokážu představit, že by to byl virus
Virus to sice není, ale potenciálně škodlivé to je.

Dotyčný skript při svém humpoláckém přidání <input>u přepisuje innerHTML formuláře, což de facto znamená, že úplně všechny existující prvky uvnitř formuláře převede na HTML kód, pak je zničí a následně je z HTML kódu znovu vytvoří – což se neobejde bez ztrát. Až Pavlu Krátkému nebude fungovat nějaký WYSIWYG editor nebo uploadovač, viníkem bude tahle „ochrana“.

Přepisování všech hrefů a src je také vtipné. Jednak zbytečně brzdí dodatečným znovunačtením CSS i obrázků (z adres s přidaným CSRF_TOKENem), jednak patrně vůbec nepočítá s kotvami, takže z href="#test" dělá nefunkční href="#test?CSRF_TOKEN=...".

Krom toho je to celé napsané tak nějak… začátečnicky. Na místě hostingu bych se styděl mít podobný kód na svém webu, natož strkat ho do stránek klientů.
snazimse
Profil
Chamurappi:

Neříkám, že je to dobré, nebo efektivní jen jsem říkal, že to není virus podle mého názoru.

Je to zřejmě nějaký starší script, kdo ví co tím chtěli docílit.Aspoň klientům to nedělat ,sobě ať si tam dávají třeba tři tokeny.

Tak to se ještě dá, jinak by je někdo zažaloval, hold nemělo by se tam dávat něco bez vědomí klienta, to je na tom nejhorší.Pokud má zájem ať si to zapne v administraci.

Přepisování všech hrefů a src je také vtipné
Hlavně je to blbost, to je jasné.

Vaše odpověď

Mohlo by se hodit

Příspěvky nesouvisející s webem budou odstraněny.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0