k47.cz    — každý den dokud se vám to nezačne líbit
foto Praha výběr povídky kultura | twitter FB


Nette@home

31. 12. 2009 — k47 (CC by-nc-sa)

Napadlo mě, že bych mohl najít všechny .cz domény na nichž běží běží weby poháněné frameworkem Nette. Ten nápad mi připadal dostatečně zbytečný a tak nic nebránilo realizaci.


Plán akce byl následující:

  1. Ze nějakých stránek jsem s pomocí utilitky Curl a seznamu proxy serverů zkopíroval jejich databázi .cz domén. Ti chytráci měli nastavený limit požadavků, které můžou pocházet z jedné IP adresy. Nejspíš aby jim někdo nevykrádal stránky. Takhle se jim podaří útočníky nejevýš lehce zpomalit.
  2. Pak jsem v Geditu pomocí daru přítele Regexe vyextrahoval samotná url. Mimochodem: Gedit má tak žalostně pomalou funkci najdi a nahraď, že jsem se dokonce odhodlal podívat do zdrojáků, kde je zakopaný pes. Našel jsem příčinu, ale jelikož je to C a používají se tam nějaké funkce GTK+, ve kterém se skoro vůbec nevyznám, nechal jsem to plavat. Zas tak často to nevyužiju.
  3. Následoval cyklický dvoj-chvat Curl -I -m 10 "$url" >>headers, kterým jsem načítal a ukládal jednotlivé hlavičky, případně ještě sledoval redirecty a ukládal hlavičky těchto přesměrování (ukázalo se, že mnoho webů se takhle schovávalo).
  4. V tu chvíli už byl potřeba jenom čas. Hodně času. Zatracená kvanta času. Bylo mi jasné, že poslat skoro sto padesát tisíc HTTP požadavků bude trvat dlouho. Přesto jsem byl překvapený. Skript běžel víc jak 30 hodin v kuse. Pravda, mohl jsem spustit několik jakoby-vláken, ale zas tak jsem se s tím nechtěl párat.

Výsledky jsou následující:

Výherci jsou následující:

Doufám, že při příštím měření najdu aspoň desetkrát více domén se srdcem Nette.

píše k47 & hosté, ascii@k47.cz