-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Oracle Authentification with a long password (>16 characters) #5610
Comments
I skimmed those referenced issues now, and I think this should just work. Have you tried? Unfortunately, we don't seem to have a test vector with a long password - it would be good to add one - maybe you'd contribute that?
As I understand, this was determined to be unnecessary and redundant - the length is determined from the hex encoding length of the existing field. |
Hi solardiz,
Here is what we have in the pcap sample :
Here is the obtained hash that we should be able to crack with john (but it doesn't work):
This issue only occurs with passwords longer than 16 characters. |
Thank you very much @k4amos! I see this hash doesn't even get loaded, are you seeing the same?
This would be a welcome contribution. We also seem to lack documentation for how to proceed without such program currently. I only found that |
This makes it work, but I have no idea why the check was that way before and so whether the patched check is correct or not: +++ b/src/o5logon_fmt_plug.c
@@ -131,7 +131,7 @@ static int valid(char *ciphertext, struct fmt_main *self)
if ((p = strtokm(NULL, "*"))) { /* client's encrypted password */
int len = hexlenu(p, &extra);
- if (extra || len < 64 || len % 32 || len > 2 * PLAINTEXT_LENGTH + 16)
+ if (extra || len < 64 || len % 32 || len > 3 * PLAINTEXT_LENGTH)
goto err;
if ((p = strtokm(NULL, "*")) == NULL) /* client's sesskey */
goto err; |
Hi solardiz, thank you, that's indeed what fixes the bug. I don't know why it was implemented that way. |
In an authentication with an Oracle database, the size of AUTH_PASSWORD will change if the password length exceeds 16 characters, as explained here.
@magnumripper had proposed in this issue #2155 (comment) to add a field with the size of Auth_PASSWORD at the end of the hash, but unfortunately this option doesn't seem to be implemented.
Is there a way to break these hashes with john?
The text was updated successfully, but these errors were encountered: