|
Message-ID: <b261a12c03172ef0e191d0296339dd0d@smtp.hushmail.com> Date: Tue, 1 Jan 2013 23:28:35 +0100 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: dynamic format bug (was: A few questions regarding the newly added BLAKE2 format) On 1 Jan, 2013, at 22:48 , magnum <john.magnum@...hmail.com> wrote: > On 1 Jan, 2013, at 21:56 , Frank Dittrich <frank_dittrich@...mail.com> wrote: >> The dynamic formats also accept these hashes when using >> --format=dynamic_0 (or dynamic_2, dynamic_3, dynamic_19, ...). > > You are right. Here is a normal md5 hash written twice: > > $ echo 8ad8757baa8564dc136c1e07507f4a988ad8757baa8564dc136c1e07507f4a98 >test > $ ../run/john test -form:dynamic_0 > Loaded 1 password hash (dynamic_0: md5($p) (raw-md5) [128/128 SSE2 intrinsics 10x4x3]) > test3 (?) > guesses: 1 time: 0:00:00:00 DONE (Tue Jan 1 22:10:20 2013) c/s: 360000 trying: 3533 - sierra > > Even worse, the overlong hash is stored in john.pot: > $ cat ../run/john.pot > $dynamic_0$8ad8757baa8564dc136c1e07507f4a988ad8757baa8564dc136c1e07507f4a98:test3 > > And that has this effect: > $ ../run/john test -form:dynamic_0 -show > 0 password hashes cracked, 1 left This partly fixes the problem: diff --git a/src/dynamic_fmt.c b/src/dynamic_fmt.c index cf88409..ee14fcb 100644 --- a/src/dynamic_fmt.c +++ b/src/dynamic_fmt.c @@ -701,7 +701,7 @@ static int valid(char *ciphertext, struct fmt_main *pFmt) if (atoi16[ARCH_INDEX(cp[i])] == 0x7f) return 0; } - if ( (pPriv->pSetup->flags&MGF_SALTED) == 0) + if (!cp[cipherTextLen] && (pPriv->pSetup->flags&MGF_SALTED) == 0) return 1; if (cp[cipherTextLen] && cp[cipherTextLen] != '$') After this and using DynamicAlwaysUseRawHashes=Y, only dynamic_19, dynamic_80 and dynamic_100 will accept a 128 character hash. But dynamic_19 is CiscoPIX so that is still wrong. Also, some thin formats fail with this: Benchmarking: PHPS md5(md5($pass).$salt) [128/128 SSE2 intrinsics 10x4x3]... FAILED (valid) Benchmarking: MediaWiki md5($s.'-'.md5($p)) [128/128 SSE2 intrinsics 10x4x3]... FAILED (valid) Benchmarking: osCommerce md5($salt.$pass) [128/128 SSE2 intrinsics 10x4x3]... FAILED (valid) Benchmarking: phpass MD5 ($P$9) [128/128 SSE2 intrinsics 4x4x3]... FAILED (valid) So there's more to it. Jim, are you reading this? magnum
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.