login  Naam:   Wachtwoord: 
Registreer je!
 Forum

MD5

Offline Joel - 06/09/2005 19:11
Avatar van JoelEigenaar Hey

Wou is vragen, is MD5 nu kraakbaar of hoe zit dat? Of is het nog steeds veilig.

43 antwoorden

Gesponsorde links
Offline SalCro - 06/09/2005 19:13
Avatar van SalCro HTML interesse Volgens dat ik gehoord heb is het al gekraakt, ik weet het natuurlijk niet zeker ik heb het ook maar gehoord 


grtz
Offline RobbyTown - 06/09/2005 19:15
Avatar van RobbyTown HTML interesse Dacht van niet, dacht er een pc aan stond (al enkele jaren) die al een deel had ontcijfert. Van het gecodeerde wachtwoord.

Offline haytjes - 06/09/2005 19:16
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
het is te kraken als je ten 1ste weet dat het MD5 is,
maar nu wordt het toch overal gebruikt,
maar je kan het makelijk moeilijk maken,
door gewoon de MD5 in 2 te splitsen en in de omgekeerde volgorde te zetten.
Offline Rens - 06/09/2005 19:17 (laatste wijziging 06/09/2005 19:19)
Avatar van Rens Gouden medaille

Crew algemeen
Het is kraakbaar, d.m.v. bruteforce.
Het gaat wel lang duren voordat je het gekraakt hebt.
4 of 5 letters duurt ongeveer 5 tot 10 minuten.
Maar als het meer tekens worden, en ook leestekens, gaat het veel langer duren.

Een programma'tje ervoor is Cain & Abel.

edit; Dan kun je net zo goed een md5 hash maken van een md5 hash.
Dus iets als dit:

  1. <?PHP
  2. $sHash = md5("Blabla".time());
  3. $sTweedeHash = md5($sHash);
  4. ?>


En dan zou je het nog 50 keer kunnen doen.^^
Offline nemesiskoen - 06/09/2005 19:23 (laatste wijziging 06/09/2005 19:30)
Avatar van nemesiskoen Gouden medaille

PHP expert
Als je er goed mee omspringt niet. Dus als je al bovenstaande stappen volgt (verder coderen op eigen manier) wordt het al veiliger, en noch moeilijker om alle mogelijkheden via een programma af te gaan met een md5 als input. Dmv bruteforce online via een programma mogelijkheden laten invullen zal het al sneller gefixt zijn. Maar na 10 keer proberen een time out inzetten van 5 minuten. En als er in die 5 minuten meer dan 20 keer is geprobeerd directe IP ban ofzo.
Voordeel is dat 1 hash meerdere opties heeft. Nadeel is dat als je 1 van die andere opties invult het wordt gezien als het juiste passwoord.

Oplossing:
  1. <?php
  2. function mdsh($pass) {
  3. return md5($pass).sha1($pass);
  4. }
  5. ?>


Dit zal altijd uniek zijn. Geen een combinatie van md5 en sha1 van 1 woord is gelijk aan dat van een ander.
Offline marten - 06/09/2005 19:32
Avatar van marten Beheerder Het is tot nu toe wel de veiligste hash manier 
Offline BigBug - 06/09/2005 19:40
Avatar van BigBug PHP expert ik gebruik zelf altijd md5(crypt(md5($var))) dan moeten ze eerst die combintatie raden en dan ook nog ontcijferen
Offline MechaVore - 06/09/2005 19:41 (laatste wijziging 06/09/2005 19:41)
Avatar van MechaVore Gouden medaille

PHP gevorderde
Je moet gewoon niemand bij je MD5 wachtwoorden laten , daar kan je toch redelijk voor zorgen ..
Offline nemesiskoen - 06/09/2005 19:45 (laatste wijziging 06/09/2005 19:47)
Avatar van nemesiskoen Gouden medaille

PHP expert
Citaat:
Het is tot nu toe wel de veiligste hash manier

Wie zegt dat?
Bij mijn weten is dat sha1.
Mede omdat deze een hexadecimaal getal van 40 tekens terug stuurt en md5 van 32. En ook omdat de naam voor "secure hash algorithm" staat.

SHA0, MD4, MD5, HAVEL128 en RIPEMD hebben "collision" aanvallen gehad. Dit wil zeggen dat strings met dezelfde md5 waarde zijn gevonden. Dit is een vorm van kraken daar je hiermee een deel van het algoritme ontsluierd en het naar je hand kan zetten.

Het is mogelijk geweest een "collsion" te vinden in SHA1 doormiddel van een loop van '60 miljard * 5 miljard' (ik kan zo'n getal niet uitspreken:))


@Lightblade: ik denk dat het meer voor het onderscheppen van het passwoord tussen de pc van de gebruiker de server gebruikt wordt.
Offline Dani - 08/09/2005 00:02
Avatar van Dani PHP gevorderde MD5 is niet mathematisch kraakbaar !!!

Er bestaan brute force crackers maar deze hebben meestal maanden nodig om een 8+ wachtwoord te vinden 

Een wachtwoord tot 4 heb je in 2-3 minuten maximum (met een 2GHz cpu) en to 6 in een uurtje maximum. Je moet wel een deftige soft, met goede en snelle algoritmes hebben om zulke tijden te halen.

Ik heb zelf eens voor de fun een brite farce scriptje in PHP gemaakt en volgen de brekeningen (zat een timer functie die restijd berekend) kan een wachtwoord van 8 characters to 300 dagen in beslagnemen (veel minder als de laatste letter toevallig een 'a' is).

Een paar tips :

- belangrijke wachtwoorden altijd 8 of meer characters en gebruik van een mix : klein- en hoofdletters, cijfers speciale character (mischien zelfs een character die niet op je toetsenbord staat : ALT-XXXX)

- gebruikt alternative methodes om een MD5 hash te maken in je scripts. vb : strrev(md5($a))
Ook al vindt iemand de hash moet hij nog je code hebben om verder te kunnen ;)
Offline Keith - 08/09/2005 07:24
Avatar van Keith Grafische gevorderde @nemesiskoen

3*10^20 dus 
Offline nemesiskoen - 08/09/2005 08:08
Avatar van nemesiskoen Gouden medaille

PHP expert
Citaat:
correct and full MD5 collisions can and have been efficiently found. Their approaches also apply to three other hash algorithms: HAVAL, MD4, and RIPEMD. The audience responded to the presentation of Feng, et al with a standing ovation, and the statement that MD4 collisions could be computed "by hand" was made for dramatic effect. While a significant milestone, the emergence of these attacks is not a sudden surprise, considering the longstanding warnings, and prior recommendations (since 1996) to use the more secure and standard SHA1.

Daarom denk ik ook dat sha1 dus veiliger is.
Offline Thomas - 08/09/2005 13:11 (laatste wijziging 08/09/2005 13:11)
Avatar van Thomas Moderator De zwakste schakel is volgens mij nog altijd de gebruiker .
Verder kun je nog allerlei maatregelen treffen rondom het gebruik van een algorithme, zoals (er van uitgaande dat we het over het beveiligen van wachtwoorden hebben):
- max aantal inlogpogingen in een bepaald tijdsinterval, op basis van IP
- de gebruiker verplichten een moeilijk te raden wachtwoord te kiezen
- de gebruiker verplichten het wachtwoord eens om de zoveel tijd te veranderen
- ...
Offline b4nkr0bz0r - 08/09/2005 14:17
Avatar van b4nkr0bz0r PHP gevorderde even tussendoor: iheet een 1024 bits encryptie nou een blowfish of een swordfish 
Offline nemesiskoen - 08/09/2005 14:36 (laatste wijziging 08/09/2005 14:38)
Avatar van nemesiskoen Gouden medaille

PHP expert
Blowfish is een heelkrachtig algoritme, dus zou ik dat zeggen... google zegt dit:
swordfish: 512 bits
blowfish: 448 bits
Offline Fenrir - 08/09/2005 17:18
Avatar van Fenrir PHP expert Volgens mij is md5() niet te kraken (behalve met brute-force), omdat er informatie verloren gaat. Als je een tekst hebt van 3000 tekens wordt dat met md5() veel minder. Dus je verliest informatie, dus je kunt het origineel niet meer terugkrijgen.

Mocht dit niet zo zijn is dit geen probleem. Hashen is altijd veel sneller dan de-hashen. Dus als een computer het wachtwoord in 1 uur kan de-hashen, kan een computer in 0.001 sec hashen. Dus dan md5() je het 1000 keer, dan duurt het 1000 uur om het te de-hashen, en 1 sec om het te hashen.
Offline Stijn - 08/09/2005 17:38
Avatar van Stijn PHP expert Alles is gewoon te kraken, alleen lijkt het me zeer moeilijk om bv zo'n algoritme te kraken. Je moet al zeer veel verstand hebben van Wiskunde en van ASM programmeren...

Op PHP.net in de function lijst staat een link bij MD5/SHA1/CRC32 die het algoritme uitlegt van MD4-5. Heb die ook net gevonden en die aan het lezen, lijkt me niet simpel om zoiets om te draaien 

Verder zou ik het doen zoals Fangaron zegt...

vraagje @joel: waarom? is het ledenscript te kraken misschien nu? 

eigenlijk val ik in herhaling...

mvg stijn
Offline bosgroen - 08/09/2005 18:50
Avatar van bosgroen Gouden medaille

PHP interesse
Citaat:
Ook al vindt iemand de hash moet hij nog je code hebben om verder te kunnen ;)

- ja das waar, maar als je met cookies werkt om automatisch in te loggen, zet de persoon gewoon deze hash in zijn cookie en is hij ingelogd onder de desbetreffende gebruikersnaam. (Andere oplossing het passwoord ongehashed in een cookie zetten is ook niet veilig)
Offline zwobbel - 08/09/2005 18:56
Avatar van zwobbel PHP gevorderde Md5 is te cracken en het is hellemaal niet moeilijk.
This alleen lang durig vb:
Een wachtwoord in md5 van 6 characters duurt 1 uur om te vinden.
Een wachtwoord van 8 characters 7 uur etc.

En als je gaat werken met een rainbow table dan kan je zelfs een md5 wachtwoord in 7 minuten vinden.
md5 is dus hackbaar zonder probleem!
Offline nemesiskoen - 08/09/2005 19:01
Avatar van nemesiskoen Gouden medaille

PHP expert
@Zwobbel: and what about als
"dit is een ongelooflijk debiele tekst"
en "blaat" dezelfde hash hebben?
Met een passwoord maakt het niet veel uit. Stel het passwoord is blaat en je vult die ongelooflijk debiele tekst in dan ben je binnen. Maar soms zitten systemen niet zo in elkaar, en moet je dus echt de originele hash hebben.
Offline Martijn1989 - 08/09/2005 19:13
Avatar van Martijn1989 PHP ver gevorderde dus als ik inlog zou :

uuhjwn

miss het zelfde kunnen zijn als


ldelkwhevc ???
Offline Rens - 08/09/2005 19:24
Avatar van Rens Gouden medaille

Crew algemeen
Dat zou inderdaad kunnen ja.
Offline Joel - 08/09/2005 19:31
Avatar van Joel Eigenaar Lol zwobbel.. "md5 is dus hackbaar zonder probleem!"

Haha, nog nooit zoiets doms gehoord 
Offline zwobbel - 08/09/2005 19:44
Avatar van zwobbel PHP gevorderde Dude ik dacht het ook tot mijn maat het bewees en als ge me niet geloof kzal effe vrage aan hem welk programma jusit dat het was.
Wie laatste lacht best lacht!
Offline nemesiskoen - 08/09/2005 20:07
Avatar van nemesiskoen Gouden medaille

PHP expert
@zwobbel: het blijft onmogelijk het ECHTE passwoord met 100% zekerheid te achterhalen omdat bij elke hash duizenden tegenstellingen horen.
Offline Ontani - 08/09/2005 20:11
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
zwobbel ik heb het al 20x gezegd ofzo.

wat is dan de oplossing van de volgende hash:

d983c99d99b0ada2f2ef7a05f48ceb49

Passcracking.com zegt: hex:-notfound-
Offline Joel - 09/09/2005 01:21
Avatar van Joel Eigenaar Een wachtwoord van 4 karakters kan ik ook ff met een program decoderen, maar je zegt dat je maat een wachtwoord van 8 karakters kan decoderen in 7 uur ? Wil ik toch nog wel eens zien 
Offline Dani - 09/09/2005 01:33 (laatste wijziging 09/09/2005 01:50)
Avatar van Dani PHP gevorderde @zwobbel :

een 8 character in zo weinig tijd ???????????

Met mijn Dual 2800 haal ik het niet in minder als een week met een beperkte character set !!!

Ongeveer een jaar geleden hebben japaners een md5 crack (brute force) in minder als 24u gehaald (niet veel minder) en de gebruikte machine was een 'super computer' zoals een blue gene

Dus : minder als 7 uren enkel met beperkt character set 

Probeer deze eens : f96f6aab438c0c1c619b151c1c37641d
Heb deze juist gemaakt en enkel 7 character begruikt 
Ik geef je een week de tijd ;)
Na een week post ik de oplossing 

PS : een hash nog een Hashen enz... is goed als je het 1 keer doet, maar meer is onzin omdat je het aantal gelijke oplossingen verhoogt
Offline Thomas - 09/09/2005 07:47
Avatar van Thomas Moderator Door een hash (een of meer keer opnieuw) te hashen vergroot je volgens mij het aantal mogelijkheden. Als je een wachtwoord 3x hashed lijkt het mij moeilijker te kraken dan wanneer het 2x is gehashed.

Stel dat elke hash 10 mogelijke wachtwoorden heeft (het zijn er waarschijnlijk meer). Dan levert 1x hashen 10 mogelijkheden, 2x hashen 10x10 mogelijkheden, 3x hashen 10x10x10 mogelijkheden etc..

Of zit ik er nu naast?
Offline nemesiskoen - 09/09/2005 08:16
Avatar van nemesiskoen Gouden medaille

PHP expert
@FangorN: op dat vlak heb je volledig gelijk. Het aantal mogelijkheden vergroot, dus de originele waarde is moeilijker terug te vinden.
Echter als het om passwoorden gaat en bv. aaaaaaaaaaaaaaaaaaaaaaaaaaaaa (gewoon random hash even nemen) de waarde "halo" en de waarde "123789321" heeft. Dan maakt het niet uit wat je in je tekstvlak invult: "halo" of "123789321", je wordt in beide gevallen toegelaten. Daarom ben ik voorstander om md5 met sha1 te combineren. Omdat "halo" en "123456321" een totaal verschillende hash hebben bij sha1 en bij sha1 zullen er ook wel overeenkomsten zijn, maar die zijn dan weer in md5 verschillend. Dus [of] je vind de originele hash, [of] je vind er geen.

  1. $var = md5($var).sha1($var);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.224s