From a219ff9a927d1fe5b10f3921d60f5a258f0976d4 Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Sun, 29 Nov 2015 19:40:14 +0100 Subject: [PATCH] Fixes #1572 --- lib/core/wordlist.py | 4 ---- lib/utils/hash.py | 6 +++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/core/wordlist.py b/lib/core/wordlist.py index e7c902beb..30f2c277d 100644 --- a/lib/core/wordlist.py +++ b/lib/core/wordlist.py @@ -77,10 +77,6 @@ class Wordlist(object): except StopIteration: self.adjust() retVal = self.iter.next().rstrip() - try: - retVal = retVal.decode(UNICODE_ENCODING) - except UnicodeDecodeError: - continue if not self.proc_count or self.counter % self.proc_count == self.proc_id: break return retVal diff --git a/lib/utils/hash.py b/lib/utils/hash.py index 7ab48c26f..271485550 100644 --- a/lib/utils/hash.py +++ b/lib/utils/hash.py @@ -209,6 +209,9 @@ def oracle_old_passwd(password, username, uppercase=True): # prior to version ' if isinstance(username, unicode): username = unicode.encode(username, UNICODE_ENCODING) # pyDes has issues with unicode strings + if isinstance(password, unicode): + password = unicode.encode(password, UNICODE_ENCODING) + unistr = "".join("\0%s" % c for c in (username + password).upper()) cipher = des(hexdecode("0123456789ABCDEF"), CBC, IV, pad) @@ -327,7 +330,8 @@ def wordpress_passwd(password, salt, count, prefix, uppercase=False): return output - password = password.encode(UNICODE_ENCODING) + if isinstance(password, unicode): + password = password.encode(UNICODE_ENCODING) cipher = md5(salt) cipher.update(password)