Autor: .cCuMiNn. | 9.4.2013 |
Jistě se Vám již mnohokrát stalo, že jste na webu vyhledávali nějaký ten úryvek programového kódu, nebo složitější příkaz pro příkazový řádek. Vzhledem k tomu, že je Internet nevyčerpatelnou studnicí vědomostí, budu předpokládat, že jste při svém hledání měli štěstí a skutečně jste nakonec našli to, co jste hledali.
Bez zaváhání jste pak s největší pravděpodobností objevený kód na webu označili myší, a běžným způsobem (copy+paste) jste jej zkopírovali do svého projektu, příkazové řádky, nebo na jiné cílové místo. Jste si ale jisti, že jste tímto způsobem skutečně zkopírovali to, co jste před sebou viděli na monitoru?
Zkusím pro svou ukázku použít populární formu textu bez odborného balastu, aby byl dopad útoku srozumitelný i pro běžného internetového uživatele. Představme si, že je právě den svatého Valentýna a vás v záchvatu pomatení mysli napadne popřát k tomuto svátku své nejdražší prostřednictvím srdcervoucího e-mailu. Na netu si proto najdete například tento krásný text:
Pokud byste jej ale zkopírovali do e-mailové zprávy a bez opětovného přečtení ihned odeslali, asi byste se divili, proč vám jako reakce přišlo něco o balení kufrů a okamžitém rozchodu.
Příkladem podobného útoku z odborné sféry pak může být například následující kód pro příkazovou řádku Windows. Ten sice po svém zkopírování a spuštění způsobí oproti očekávání navíc pouze vypnutí počítače, ale dopady by mohly být i mnohem horší. Co by proti tomu pak bylo pár sbalených kufrů.
Poslední příklad, který zde na toto téma uvedu, se bude týkat internetových odkazů. Již jsme si všichni zvykli na to, že aktivní odkazy nemusí vést vždy tam, kam se zdá, že směřují. Napadlo by vás ale dříve, že i zkopírováním neaktivního odkazu do adresového řádku prohlížeče, se můžete ocitnout zcela na jiném webu, než jste očekávali? Příklad:
Celý princip nebezpečného kopírování je přitom velice jednoduchý. Stačí, aby byl text na útočné stránce ve formátu HTML, který skryté pasáže textu obalí prvky nastylovanými tak, aby jejich obsah nebyl viditelný. Toho je možno dosáhnout mnoha způsoby, ze kterých jsem vybral (a v tomto článku použil) napozicování obsahu mimo viditelnou oblast stránky:
Díky tomuto jednoduchému triku není veškerý text přímo viditelný, ale přesto se stává součástí označovaného a kopírovaného obsahu. Dejte si proto veliký pozor kdykoliv z webu něco kopírujete. Dvojnásob to pak platí ve chvíli, kdy je kopírován programový kód určený k následnému spuštění.
Pokud vás uvedená technika zaujala, doporučuji vám k prostudování také příbuzné téma: Přetažení jiného obsahu metodou Drag&Drop, o kterém jsem psal v tomto díle seriálu o clickjackingu.