Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: system md5
Forum PHP.pl > Inne > Hydepark
mayhen
Witam, poniżej macie adres pewnej aukcji z allegro.

http://www.allegro.pl/show_item.php?item=15117209

cytat: "można złamać w ciągu SEKUND!!! " biggrin.gif tongue.gif
Seth
Bo mozna laugh.gif

Metoda brute force to metdoa dobra na hasla typu: ala, misio itp.
Podajac slowa ze slownika jestesmy wstanie (w zaleznosci od polaczenia) dostac sie do slabo zabezpieczonych stron w ciagu kilku sekund. Bardziej brutalna winksmiley.jpg czyli tworzenie dynamicznie hasel tez jest pewna metoda obescia zbaezpieczen.
Poza tym jest jeszcze mozilowsc wykorzystania tzw. hash table, ktore znacznie przyspieszaja "odgadniecie" hasla.
FiDO
Mozna odgadnac metoda brute force w kilka sekund, ale to musialo by byc haslo ze slownika, zeby az tak szybko poszlo.
Pozatym taki test to sobie prawie kazdy moze zrobic.
Poszukac jakiejs bogatego slownika hasel i heja winksmiley.jpg
Ewentualnie jak ktos ma wolnego (w sensie nieuzywanego) kompa to zapuscic szukanie wszystkich mozliwosci na pare dni.
Pozatym chce widziec jak ten Pan lamie (tzn. zgaduje...) ciag ktory mu podesle jesli bedzie on mial powiedzmy 40 znakow. Napewno w slowniku nie ma takich dlugich ciagow, a sprawdzanie wszystkich mozliwosci zajeloby 'troche' czasu..
Jabol
w koncu to tylko 32^16 mozliwosci. Ale ile trwa wygenerowanie takiego hash table?

A tak wogole to nie zapominajmy, ze kazdy ciag da sie wwygenerowac na nieskonczenie wiele spobow więc generowanie hash table może iść wiekami.
Seth
To zalezy od ilosci danych... szczerze mowiac dokladnie nie wiem ile moze wynosic generowanie tej tablicy ale mysle, ze nie jest to zbyt szybkie. Ale tablice taka tworzymy tylko raz potem mozemy z niej korzystac ile chcemy.

Wiekami to raczej nie tongue.gif ale napewno to troche zajmuje.
Dla zainteresowanych znalazlem opis tablicy haszujacej: http://strony.wp.pl/wp/wieslawfaruga/opisy.../hashtable.html
Jabol
Ale pomyśl. Po kazdym wygenerowanym hashu musisz porownac go ze wszystkimi poprzednimi, znak po znaku. Czyli najpierw 100, potem 100000 potem 10000000 az do 16^32-1 porownan... I jeszcze moze sie okazac, ze wiekszasc porownan wykaze obecnosc tego hasha, czyli porownan mam praktycznie w nieskonczonosc, strzelam, ze 16^60, moze 16^100, a jak ktos bedzie mial pecha to 16^100000
Seth
Eeee... to nie do konca tak dziala.
Ale gdyby isc tym tropem to tez nie bylo by tak ciezko to zrobic. Jezeli bysmy dali wynik hashu jako index tablicy to wymagalo by od nas jedynie sprawdzenia czy dany index istnieje, a to jest szybkie.
Jabol
Ale jaki jezyk ma tablice indeksowane asocjacyjnie? Bo php i perl i cala reszta ktora na to pozwala jest za wolna. Tutaj to tylko c albo jeszcze lepiej assembley wchodza w gre.
Aczkolwiek gdyby to robic jak mowisz to mozna by tak:[php:1:552c63c0e4]<?php
do
$hashe[ get_hash( ( $string = get_string() ) ) ] = $string;
while( sizeof( $hashe ) != pow( 16, 32 ) );
//obroblka hashtablicy
?>[/php:1:552c63c0e4]tutaj nie ma żadnych porownan oprocz jednego dla kazdego hasha, ale to tylko porownanie licz calkowitych
Seth
Mozna przetestowac php i stworzyc tablice z hashami slow slownikowych jako indexy oraz ich wartosciami jako te slowa (tak jak podales). Stworzenie takiej tablicy troche zajmie ale za to znalezeinie hasla jest juz dziecinnie proste.
spenalzo
Cytat
Na średniej klasy komputerze można sprawdzić około MILIONA ciągów na SEKUNDĘ!!

Mhm, jasne. Gdyby tak było, to dawno już hasła nie były bezpieczne. Ja wiem, że php nie jest dobre do odszyfrowywanie haseł, ale korzystając z najprostszego skryptu osiągałem wynik ok. 30-35 tysięcy prób na sekundę, więc na pewno żaden plik/program nie osiągnie takiej wydajności.
Jabol
wydzielilem reszte do http://forum.php.pl/viewtopic.php?t=4994&s...=asc&highlight=
FiDO
Cytat
Ale jaki jezyk ma tablice indeksowane asocjacyjnie?

C++ smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.