Autor: nitrexx | 24.9.2012 |
Python sa najčastejšie využíva na Unixoch a programuje sa v ňom veľa „hackerských“ programov a scriptov, hlavne kvôli krátkemu času, ktorý treba na tvorbu programu. A práve preto som zvolil tento jazyk, lebo je jednoduchý na pochopenie a zdrojový súbor obsahuje menej riadkov oproti napr.C . Na druhú stranu je ale zase aj pomalší.
V prvých dieloch seriálu si ukážeme tvorbu FTP Dict. Attacku. Kód tohto programu môže byť pre začiatočníka, ktorý sa s Pythonom ešte nestretol asi dosť zložitý, takže si najprv vysvetlíme tie ľahšie veci. Keďže môj konečný program sa skladá z vlákien a zámkov, z práce zo súbormi, práce z textovými reťazcami, časom, výnimkami, argumentmi príkazového riadku a FTP protokolom, rozhodol som sa pre rozdelenie popisu jeho tvorby do niekoľkých dielov. V nich sa postupne zoznámite s jednotlivými prvkami jazyka a s princípmi, na ktorých tento typ aplikácie funguje. Pretože tento seriál nie je tutoriálom jazyka Python pre úplných začiatočníkov, vyžaduje sa od čitateľa aspoň základná znalosť programovania v dákom skriptovacom jazyku a základy OOP. Na druhú stranu by ste sa s Pythonom mali behom jednotlivých dielov zoznámiť do takej miery, že by ste mali byť schopní vytvárať podobné aplikácie úplne sami.
Ešte pred začatím je treba si povedať, že všetko čo budem vysvetľovať, je vytvárané v Pythone 2.7. A že najlepšie je to skúšať zo súboru a nie priamo z python shellu.
Na Linuxe na začiatku súboru uvádzajte tento riadok poprípade iné umiestnenie:
Úplne najjednoduchší program od ktorého sa to bude všetko vyvíjať ďalej:
Ešte podotknem metódu format() ako názov napovedá slúži na formátovanie reťazca. V reťazci máme {0} a do metódy format() vložíme to, čo chceme, aby sa zobrazilo na mieste, kde sme to definovali v reťazci.
Práca zo súbormi je základ slovníkového útoku. Programu dáme do vstupu slovník s menami a heslami a pri úspešnom zistení účtu vytvorí súbor z menom a heslom, ktorým sa podarilo prihlásiť na FTP. Ale o tom už v ďalšom článku.
Toto je tá najľahšia časť celého programu, ďalej to už bude iba zložitejšie na pochopenie. Celý zdrojový kód FTP Dictionary crackera, ktorý sa posnažím čo najviac a čo najvýstižnejšie okomentovať, uverejním až keď sa zoznámime so všetkými časťami, ktoré potrebujeme poznať.