mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-25 11:03:47 +03:00
Fixes #2495
This commit is contained in:
parent
5bcbf63ddb
commit
3140fd0ca6
|
@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME
|
||||||
from lib.core.enums import OS
|
from lib.core.enums import OS
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.1.4.41"
|
VERSION = "1.1.4.42"
|
||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
|
||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
|
||||||
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
|
||||||
|
|
|
@ -529,7 +529,7 @@ def hashRecognition(value):
|
||||||
|
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
def _bruteProcessVariantA(attack_info, hash_regex, suffix, retVal, proc_id, proc_count, wordlists, custom_wordlist):
|
def _bruteProcessVariantA(attack_info, hash_regex, suffix, retVal, proc_id, proc_count, wordlists, custom_wordlist, api):
|
||||||
if IS_WIN:
|
if IS_WIN:
|
||||||
coloramainit()
|
coloramainit()
|
||||||
|
|
||||||
|
@ -583,7 +583,7 @@ def _bruteProcessVariantA(attack_info, hash_regex, suffix, retVal, proc_id, proc
|
||||||
|
|
||||||
status = 'current status: %s... %s' % (word.ljust(5)[:5], ROTATING_CHARS[rotator])
|
status = 'current status: %s... %s' % (word.ljust(5)[:5], ROTATING_CHARS[rotator])
|
||||||
|
|
||||||
if not conf.api:
|
if not api:
|
||||||
dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status))
|
dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status))
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
@ -605,7 +605,7 @@ def _bruteProcessVariantA(attack_info, hash_regex, suffix, retVal, proc_id, proc
|
||||||
with proc_count.get_lock():
|
with proc_count.get_lock():
|
||||||
proc_count.value -= 1
|
proc_count.value -= 1
|
||||||
|
|
||||||
def _bruteProcessVariantB(user, hash_, kwargs, hash_regex, suffix, retVal, found, proc_id, proc_count, wordlists, custom_wordlist):
|
def _bruteProcessVariantB(user, hash_, kwargs, hash_regex, suffix, retVal, found, proc_id, proc_count, wordlists, custom_wordlist, api):
|
||||||
if IS_WIN:
|
if IS_WIN:
|
||||||
coloramainit()
|
coloramainit()
|
||||||
|
|
||||||
|
@ -657,7 +657,7 @@ def _bruteProcessVariantB(user, hash_, kwargs, hash_regex, suffix, retVal, found
|
||||||
if user and not user.startswith(DUMMY_USER_PREFIX):
|
if user and not user.startswith(DUMMY_USER_PREFIX):
|
||||||
status += ' (user: %s)' % user
|
status += ' (user: %s)' % user
|
||||||
|
|
||||||
if not conf.api:
|
if not api:
|
||||||
dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status))
|
dataToStdout("\r[%s] [INFO] %s" % (time.strftime("%X"), status))
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
|
@ -842,12 +842,12 @@ def dictionaryAttack(attack_dict):
|
||||||
count = _multiprocessing.Value('i', _multiprocessing.cpu_count())
|
count = _multiprocessing.Value('i', _multiprocessing.cpu_count())
|
||||||
|
|
||||||
for i in xrange(_multiprocessing.cpu_count()):
|
for i in xrange(_multiprocessing.cpu_count()):
|
||||||
p = _multiprocessing.Process(target=_bruteProcessVariantA, args=(attack_info, hash_regex, suffix, retVal, i, count, kb.wordlists, custom_wordlist))
|
process = _multiprocessing.Process(target=_bruteProcessVariantA, args=(attack_info, hash_regex, suffix, retVal, i, count, kb.wordlists, custom_wordlist, conf.api))
|
||||||
processes.append(p)
|
processes.append(process)
|
||||||
|
|
||||||
for p in processes:
|
for process in processes:
|
||||||
p.daemon = True
|
process.daemon = True
|
||||||
p.start()
|
process.start()
|
||||||
|
|
||||||
while count.value > 0:
|
while count.value > 0:
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
@ -858,7 +858,7 @@ def dictionaryAttack(attack_dict):
|
||||||
singleTimeWarnMessage(warnMsg)
|
singleTimeWarnMessage(warnMsg)
|
||||||
|
|
||||||
retVal = Queue()
|
retVal = Queue()
|
||||||
_bruteProcessVariantA(attack_info, hash_regex, suffix, retVal, 0, 1, kb.wordlists, custom_wordlist)
|
_bruteProcessVariantA(attack_info, hash_regex, suffix, retVal, 0, 1, kb.wordlists, custom_wordlist, conf.api)
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
print
|
print
|
||||||
|
@ -926,12 +926,12 @@ def dictionaryAttack(attack_dict):
|
||||||
count = _multiprocessing.Value('i', _multiprocessing.cpu_count())
|
count = _multiprocessing.Value('i', _multiprocessing.cpu_count())
|
||||||
|
|
||||||
for i in xrange(_multiprocessing.cpu_count()):
|
for i in xrange(_multiprocessing.cpu_count()):
|
||||||
p = _multiprocessing.Process(target=_bruteProcessVariantB, args=(user, hash_, kwargs, hash_regex, suffix, retVal, found_, i, count, kb.wordlists, custom_wordlist))
|
process = _multiprocessing.Process(target=_bruteProcessVariantB, args=(user, hash_, kwargs, hash_regex, suffix, retVal, found_, i, count, kb.wordlists, custom_wordlist, conf.api))
|
||||||
processes.append(p)
|
processes.append(process)
|
||||||
|
|
||||||
for p in processes:
|
for process in processes:
|
||||||
p.daemon = True
|
process.daemon = True
|
||||||
p.start()
|
process.start()
|
||||||
|
|
||||||
while count.value > 0:
|
while count.value > 0:
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
@ -950,7 +950,7 @@ def dictionaryAttack(attack_dict):
|
||||||
found_ = Value()
|
found_ = Value()
|
||||||
found_.value = False
|
found_.value = False
|
||||||
|
|
||||||
_bruteProcessVariantB(user, hash_, kwargs, hash_regex, suffix, retVal, found_, 0, 1, kb.wordlists, custom_wordlist)
|
_bruteProcessVariantB(user, hash_, kwargs, hash_regex, suffix, retVal, found_, 0, 1, kb.wordlists, custom_wordlist, conf.api)
|
||||||
|
|
||||||
found = found_.value
|
found = found_.value
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ ebb778c2d26eba8b34d7d8658e4105a6 lib/core/optiondict.py
|
||||||
d8e9250f3775119df07e9070eddccd16 lib/core/replication.py
|
d8e9250f3775119df07e9070eddccd16 lib/core/replication.py
|
||||||
785f86e3f963fa3798f84286a4e83ff2 lib/core/revision.py
|
785f86e3f963fa3798f84286a4e83ff2 lib/core/revision.py
|
||||||
40c80b28b3a5819b737a5a17d4565ae9 lib/core/session.py
|
40c80b28b3a5819b737a5a17d4565ae9 lib/core/session.py
|
||||||
50c380893e7e1cf3f8f703de4fe23fc9 lib/core/settings.py
|
5c0309b56aaa28782f85c32bcd6a3086 lib/core/settings.py
|
||||||
d91291997d2bd2f6028aaf371bf1d3b6 lib/core/shell.py
|
d91291997d2bd2f6028aaf371bf1d3b6 lib/core/shell.py
|
||||||
2ad85c130cc5f2b3701ea85c2f6bbf20 lib/core/subprocessng.py
|
2ad85c130cc5f2b3701ea85c2f6bbf20 lib/core/subprocessng.py
|
||||||
155e2d3fda87b2e3ffa4f7a770513946 lib/core/target.py
|
155e2d3fda87b2e3ffa4f7a770513946 lib/core/target.py
|
||||||
|
@ -104,7 +104,7 @@ d3da4c7ceaf57c4687a052d58722f6bb lib/techniques/dns/use.py
|
||||||
ba12c69a90061aa14d848b8396e79191 lib/utils/deps.py
|
ba12c69a90061aa14d848b8396e79191 lib/utils/deps.py
|
||||||
3b9fd519164e0bf275d5fd361c3f11ff lib/utils/getch.py
|
3b9fd519164e0bf275d5fd361c3f11ff lib/utils/getch.py
|
||||||
ccfdad414ce2ec0c394c3deaa39a82bf lib/utils/hashdb.py
|
ccfdad414ce2ec0c394c3deaa39a82bf lib/utils/hashdb.py
|
||||||
ff3b7796590db894a3686b3b67037b37 lib/utils/hash.py
|
12e0e0ab70c6fe5786bc561c35dc067f lib/utils/hash.py
|
||||||
e76a08237ee6a4cd6855af79610ea8a5 lib/utils/htmlentities.py
|
e76a08237ee6a4cd6855af79610ea8a5 lib/utils/htmlentities.py
|
||||||
310efc965c862cfbd7b0da5150a5ad36 lib/utils/__init__.py
|
310efc965c862cfbd7b0da5150a5ad36 lib/utils/__init__.py
|
||||||
9d8c858417d356e49e1959ba253aede4 lib/utils/pivotdumptable.py
|
9d8c858417d356e49e1959ba253aede4 lib/utils/pivotdumptable.py
|
||||||
|
|
Loading…
Reference in New Issue
Block a user