
Fenomén jménem Facebook zde jistě všichni znáte a proto se tu o něm nemusím dlouze rozepisovat. Jedná se tedy o celosvětovou sociální síť, kde si založíte profil, navážete kontakt se svými přáteli, nahráváte své fotografie a nebo třeba využíváte různé přidružené aplikace. O jedné takové bude dnes řeč.
Přesněji – jedná se o Facebook aplikaci Click Challenge 3.0. A proč se o ni budeme bavit? Protože je velmi špatně řešená a obsahuje chybu, pomocí níž se dá velice snadno hacknout.
V aplikaci Facebook – Click Challenge 3.0 jde o to, kolikrát během 30 vteřin stihnete kliknout myší na tlačítko a nasbírat tak body (1klik = 1bod). Pomocí menší úpravy skriptu si však můžete prodloužit čas a také změnit, kolik bodů dostanete za kliknutí. Jak už jsem říkal, aplikace není moc dobře zabezpečená a jelikož je napsaná přehledně v JavaScriptu, autor aplikace naservíroval chybu přímo pod nos.
Nejprve je nutné otevřít si aplikaci mimo Facebook. Jak tento krok provést zde nebudu vysvětlovat, každý průměrný uživatel to jistě ví. (externí odkaz)
Jelikož budu celou operaci provádět v prohlížeči Mozilla Firefox, bude nutné si stáhnout doplněk FireBug. (hledání a instalaci doplňku zde opět popisovat nehodlám)
Poté stačí již jen spustit Click Challenge přes externí odkaz a zároveň aktivovat FireBug.
Ve Firebugu stačí otevřít záložku HTML, kliknout na tlačítko UPRAVIT a rozkliknout skript, který se nachází těsně před značkou body (náhled níže):
<script type="text/javascript"><br /></body>
V tomto scriptu najděte tento řádek:
var vtime = 30;
Jak si asi správě myslíte, hodnota 30 udává počet vteřin ve hře. Stačí tedy hodnotu přepsat třeba na 300 a rázem máte 300 vteřin na klikání.
Dále najděte tento kód:
function inform(){
vclick += 1;
document.getElementById('eclick').innerHTML = vclick;
if(start == 1){interval = setInterval('sec()',1000);start = 0;}
}
function mclick(){
vclick += 1;
document.getElementById('eclick').innerHTML = vclick;
document.getElementById('eon').value = vclick;
if(start == 1){interval = setInterval('sec()',1000);start = 0;}
}
Zde je na dvou místech vidět zápis vclick +=1 znamená to, kolik bodů se má přičíst za jedno kliknutí. Stačí „1″ nahradit třeba „1000″ a rázem za jedno kliknutí dostanete 1000 bodů.
Po menším tuningu skriptu to tedy vypadá tak, že máte 300 vteřin na to abyste klikali přičemž za 1 klik dostanete 1000 bodů. Jak vidíte, není problém zde naklikat miliony či stamiliony bodů.
Jakmile si naklikáte požadovaný počet bodů, stačí počkat, než uběhne vámi nastavený čas. Poté vyskočí klasické dialogové okno Facebooku, které se Vás zeptá, zdali chcete výsledek zveřejnit na zdi. Pokud kliknete na „Zveřejnit“ objeví se na Vaší zdi, že jste naklikali třeba 11 milionů bodů za 30 vteřin. Jistě budete mezi Vašimi přáteli za experta.
Návod pro Operu (Autor: Dan Dušek)
Pokud není něco jasné, komentáře jsou k dispozici.