1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-01-09 07:11:03 +00:00

Fix improper strings comparision

This commit is contained in:
Konrad Goławski 2022-09-14 01:00:20 +02:00
parent feea399625
commit 3e2f8870a3
12 changed files with 72 additions and 60 deletions

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}

View File

@ -217,24 +217,25 @@ int module_hash_decode (MAYBE_UNUSED const hashconfig_t *hashconfig, MAYBE_UNUSE
// cipher mode
const u8 *cipher_mode_pos = token.buf[1];
const u32 cipher_mode_len = token.len[1];
if (strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0)
if ((strncmp ((const char *) cipher_mode_pos, "cbc-essiv:sha256", 16) == 0) && (cipher_mode_len == 16))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_ESSIV_SHA256;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "cbc-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_CBC_PLAIN64;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain", 9) == 0) && (cipher_mode_len == 9))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN;
}
else if (strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0)
else if ((strncmp ((const char *) cipher_mode_pos, "xts-plain64", 11) == 0) && (cipher_mode_len == 11))
{
luks->cipher_mode = HC_LUKS_CIPHER_MODE_XTS_PLAIN64;
}