[PHP] MD5 string, waaruit bestaat deze?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Ik draai op m´n server Kerio Mailserver 5. Nu ben ik bezig een web-console te maken, waarmee je users kan toevoegen... dit is geen probleem, maar dan kom ik bij het "maken" van het wachtwoord.

Deze staat in de users.cfg (van Kerio Mailserver) als volgt:

code:
1
DES:676b869b610e08fae9e6e4605a957ff98fef74ece868ce333eaea73c9d77


Ik weet dat "ff98fef74ece868ce333eaea73c9d77" mijn wachtwoord is in MD5, maar ik weet niet hoe "676b869b610e08fae9e6e4605a957" gegenereerd wordt. Het wordt in ieder geval gemaakt aan de hand van ALLEEN het wachtwoord, want als ik een andere user (met allerlei info anders) maak en hetzelfde pass, krijg ik in de users.cfg ook hetzelfde wachtwoord.

Ik denk ook niet dat Kerio dit zo maar zal vrijgeven, dus weet iemand toevallig hoe dit in elkaar steekt of hoe dit gegenereerd wordt?

Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 13:28
Het feit dat er DES vooraan staat, zou kunnen betekenen dat er hier ook DES encryptie gebruikt wordt. DES werkt met een private key, dus zonder die key, kun je hier verder niks mee.

Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Het eerste deel lijkt wel anders, ´t zijn meer cijfers dan letters (en bij md5 meestal andersom) maar dat kan gewoon toeval zijn dus zegt niet veel... Zijn er geen andere opties?

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

m33p schreef op 10 december 2003 @ 13:20:
Het eerste deel lijkt wel anders, ´t zijn meer cijfers dan letters (en bij md5 meestal andersom)
euh right, het zijn gewoon hexadecimale strings om een binair formaat in leesbare tekens te representeren. Je zit dus met de tekens 0 t/m 9 en a t/m f, die elk 4 bits voorstellen. Het is dus logisch dat de kans op een cijfer altijd hoger ligt dan die op een teken, ook bij MD5

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

mjax schreef op 10 december 2003 @ 13:13:
Het feit dat er DES vooraan staat, zou kunnen betekenen dat er hier ook DES encryptie gebruikt wordt. DES werkt met een private key, dus zonder die key, kun je hier verder niks mee.
zelfs als er geen DES voorstond had dit geen md5 kunnen zijn, aangezien een md5 string 32 bytes is, niet langer en niet korter :)

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

[mierenneukerij]
Een MD5 is 128 bit en dus op hedendaagse computers 128/8 = 16 bytes. Alleen de tekstuele representatie ervan als hexadecimale string is 32 tekens, maar je zou het natuurlijk ook gewoon als binary of base64 kunnen encoden ;)
[/mierenneukerij]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Het 2e deel is WEL md5 (vanaf de "ff.........."), ik weet alleen hoe het eerste deel gegenereerd wordt. Helaas valt er aan kerio ook niks aan te passen om dit probleem te omzeilen... Er kan nie voor een andere encryptie methode gekozen worden, je kan linux users niet gebruiken (alleen kerio´s eigen built-in DB)...

De enigste oplossing die ik kon bedenken is om gewoon een x aantal wachtwoorden met kerio te genereren (waarvan je de gedecodeerde versie weet), en die met een PHP script verstrekken. Dan kun je via de webmail (ook built-in :( anders kon ik het daar uit halen) je pass wel changen... Omslachtig maar iets beters kan ik niet bedenken zo 1-2-3

Acties:
  • 0 Henk 'm!

  • Kaastosti
  • Registratie: Juni 2000
  • Laatst online: 14:09

Kaastosti

Vrolijkheid alom!

Als het twee delen zijn dan heb je kennelijk dus eerst een string gecodeerd, om er daarna een andere string met andere codering achteraan te plakken. Waarom zou een systeem daarin onderscheid maken tijdens het coderen?

Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.


Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Ja, ik heb het niet verzonnen, maar het is wel zo

Het zijn in princiepe 2 delen:
code:
1
DES:<onbekend><wachtwoord in MD5>

Acties:
  • 0 Henk 'm!

  • mjax
  • Registratie: September 2000
  • Laatst online: 13:28
Ik neem aan dat je al geprobeerd hebt of het niet gewoon een concatenatie van de MD5(username) en MD5(password) is?

Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Yep, heb talloze combinaties lopen proberen, maar niets komt in de buurt :( Het kan in princiepe alleen maar met het wachtwoord gedaan zijn, want als ik een 2e user aanmaak met andere data, maar hetzeflde wachtwoord als mijn account, dan krijgen ze beiden hetzelfde ge-encrypte password.

Acties:
  • 0 Henk 'm!

  • DRaakje
  • Registratie: Februari 2000
  • Niet online
google rules:
http://www.tropsoft.com/strongenc/des.htm
http://nl3.php.net/crypt

[ Voor 19% gewijzigd door DRaakje op 10-12-2003 15:43 ]


Acties:
  • 0 Henk 'm!

  • DRaakje
  • Registratie: Februari 2000
  • Niet online
Zit nu te denken, als je zin hebt kan je ook kijken of je salt kan bruteforcen. Zal wel even duren, maar is denk ik wel een leuk projectje. Niet al te moeilijk met php maar dan kost het wel veel tijd. Misschien een ander idee is om de makers te mailen...

Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
Hoe kan ik die salt dan bruteforcen? Is daar al een script voor ofzo... Ik ben nog niet zo lang bezig met PHP, en ik vat die crypt functie ook niet helemaal. Ik krijg d´r wel output uit, maar tis korter en komt niet overeen enzo... En over dat bruteforcen, wat vind jij lang, 1 dag, 1 week, 1 jaar (vin´k wat TE lang :P) of....? als het een dag of 2 3 is wil ik heb best proberen...

Acties:
  • 0 Henk 'm!

  • DRaakje
  • Registratie: Februari 2000
  • Niet online
Ligt eraan hoe lang ze de key hebben gemaakt en ik ga ervanuit dat het een random string is. Denk toch wel minimaal een paar maanden. probleem is dat ik niet weet of ze de salt van php vergelijkbaar is met die in het programma ingebakken zit.

Acties:
  • 0 Henk 'm!

  • DRaakje
  • Registratie: Februari 2000
  • Niet online
Waar je voor kan kiezen is om tijdelijk de key niet encrypted op te slaan. Was even opzoek naar de encryptie details. en vond dit:
How do I reset the password for a user if I've lost access to the administration?

Settings for all users are stored in the users.cfg file located in the 'install path/MailServer' directory. Stop the KMS service/engine and edit the users.cfg file using notepad. You will see that each user has a password field with an encrypted password value. Replace the content of this field with 'NUL:yourpassword'. Note that NUL indicates that the password is in plaintext. After logging into the administration you can edit the password so that it will be encrypted in the users.cfg file.

Acties:
  • 0 Henk 'm!

  • m33p
  • Registratie: September 2002
  • Laatst online: 05-09 15:26
opzich niet zo´n probleem omdat de passwords toch in een map staan waar je niet bij kunt komen op de server. Ik ga ook even proberen of MD5 ook werkt o.i.d.

Acties:
  • 0 Henk 'm!

  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

.oisyn schreef op 10 december 2003 @ 13:54:
[mierenneukerij]
Een MD5 is 128 bit en dus op hedendaagse computers 128/8 = 16 bytes. Alleen de tekstuele representatie ervan als hexadecimale string is 32 tekens, maar je zou het natuurlijk ook gewoon als binary of base64 kunnen encoden ;)
[/mierenneukerij]
offtopic:
daarom had ik het ook over een md5 string ;)
Pagina: 1