Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 11 Apr 2016 09:58:12 -0500
From: jfoug <jfoug@...nwall.net>
To: john-users@...ts.openwall.com
Subject: Re: Dynamic and Very long Salt

On 4/11/2016 8:52 AM, Francois Gaudreault wrote:
> I am having an issue adding a dynamic format for a very long salt. It’s the first time I attempt to do such action, so please be gentle. ;)
> Here is the definition I tried :
>
> [List.Generic:dynamic_1600]
> Expression=sha1($s.utf16le($p))
> Flag=MGF_INPUT_20_BYTE
> Flag=MGF_FLAT_BUFFERS
> Flag=MGF_SALTED
> SaltLen=113
> Func=DynamicFunc__clean_input
> Func=DynamicFunc__append_salt
> Func=DynamicFunc__setmode_unicode
> Func=DynamicFunc__append_keys
> Func=DynamicFunc__SHA1_crypt_input1_to_output1_FINAL
> Test=$dynamic_1600$e6155f87b073451076d81e3505f8b9fcd3f53b5a$HEX$710000000403020101000000bc0200000000000010500050005700450042004500580054000645004e0047000e50005300460054005f00480052003432003000310036002d00300034002d00300038002d00310039002e00320037002e00300035002e0030003000300030003000320000:password

Are all salts 113 bytes long?  If not (but 113 bytes is the max), then 
you would want use SaltLen=-113

The problem here, is that there are embedded nulls in the salt. Within 
the valid() function dynamic, it first sees the $HEX$ and tries to 
remove it but keep it in 'C' null terminated string format.  However, 
that can not be done with the nulls.  So what happens, is the salt 
length is not 113 bytes, but 113*2+5 bytes long, and the valid is failing.

I am not sure how easy this issue would be to work around.  Let me check 
a bit.

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.