mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-02-02 20:54:13 +03:00
Patching live-testing
This commit is contained in:
parent
a2c8f1deb1
commit
e519484230
|
@ -19,7 +19,7 @@ from lib.core.enums import OS
|
||||||
from lib.core.revision import getRevisionNumber
|
from lib.core.revision import getRevisionNumber
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.0.9.16"
|
VERSION = "1.0.9.17"
|
||||||
REVISION = getRevisionNumber()
|
REVISION = getRevisionNumber()
|
||||||
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}
|
||||||
|
|
|
@ -41,6 +41,8 @@ class Failures(object):
|
||||||
failedParseOn = None
|
failedParseOn = None
|
||||||
failedTraceBack = None
|
failedTraceBack = None
|
||||||
|
|
||||||
|
_failures = Failures()
|
||||||
|
|
||||||
def smokeTest():
|
def smokeTest():
|
||||||
"""
|
"""
|
||||||
Runs the basic smoke testing of a program
|
Runs the basic smoke testing of a program
|
||||||
|
@ -193,11 +195,11 @@ def liveTest():
|
||||||
else:
|
else:
|
||||||
errMsg = "test failed"
|
errMsg = "test failed"
|
||||||
|
|
||||||
if Failures.failedItems:
|
if _failures.failedItems:
|
||||||
errMsg += " at parsing items: %s" % ", ".join(i for i in Failures.failedItems)
|
errMsg += " at parsing items: %s" % ", ".join(i for i in _failures.failedItems)
|
||||||
|
|
||||||
errMsg += " - scan folder: %s" % paths.SQLMAP_OUTPUT_PATH
|
errMsg += " - scan folder: %s" % paths.SQLMAP_OUTPUT_PATH
|
||||||
errMsg += " - traceback: %s" % bool(Failures.failedTraceBack)
|
errMsg += " - traceback: %s" % bool(_failures.failedTraceBack)
|
||||||
|
|
||||||
if not vulnerable:
|
if not vulnerable:
|
||||||
errMsg += " - SQL injection not detected"
|
errMsg += " - SQL injection not detected"
|
||||||
|
@ -205,14 +207,14 @@ def liveTest():
|
||||||
logger.error(errMsg)
|
logger.error(errMsg)
|
||||||
test_case_fd.write("%s\n" % errMsg)
|
test_case_fd.write("%s\n" % errMsg)
|
||||||
|
|
||||||
if Failures.failedParseOn:
|
if _failures.failedParseOn:
|
||||||
console_output_fd = codecs.open(os.path.join(paths.SQLMAP_OUTPUT_PATH, "console_output"), "wb", UNICODE_ENCODING)
|
console_output_fd = codecs.open(os.path.join(paths.SQLMAP_OUTPUT_PATH, "console_output"), "wb", UNICODE_ENCODING)
|
||||||
console_output_fd.write(Failures.failedParseOn)
|
console_output_fd.write(_failures.failedParseOn)
|
||||||
console_output_fd.close()
|
console_output_fd.close()
|
||||||
|
|
||||||
if Failures.failedTraceBack:
|
if _failures.failedTraceBack:
|
||||||
traceback_fd = codecs.open(os.path.join(paths.SQLMAP_OUTPUT_PATH, "traceback"), "wb", UNICODE_ENCODING)
|
traceback_fd = codecs.open(os.path.join(paths.SQLMAP_OUTPUT_PATH, "traceback"), "wb", UNICODE_ENCODING)
|
||||||
traceback_fd.write(Failures.failedTraceBack)
|
traceback_fd.write(_failures.failedTraceBack)
|
||||||
traceback_fd.close()
|
traceback_fd.close()
|
||||||
|
|
||||||
beep()
|
beep()
|
||||||
|
@ -233,9 +235,9 @@ def liveTest():
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
def initCase(switches, count):
|
def initCase(switches, count):
|
||||||
Failures.failedItems = []
|
_failures.failedItems = []
|
||||||
Failures.failedParseOn = None
|
_failures.failedParseOn = None
|
||||||
Failures.failedTraceBack = None
|
_failures.failedTraceBack = None
|
||||||
|
|
||||||
paths.SQLMAP_OUTPUT_PATH = tempfile.mkdtemp(prefix="%s%d-" % (MKSTEMP_PREFIX.TESTING, count))
|
paths.SQLMAP_OUTPUT_PATH = tempfile.mkdtemp(prefix="%s%d-" % (MKSTEMP_PREFIX.TESTING, count))
|
||||||
paths.SQLMAP_DUMP_PATH = os.path.join(paths.SQLMAP_OUTPUT_PATH, "%s", "dump")
|
paths.SQLMAP_DUMP_PATH = os.path.join(paths.SQLMAP_OUTPUT_PATH, "%s", "dump")
|
||||||
|
@ -279,10 +281,10 @@ def runCase(parse):
|
||||||
LOGGER_HANDLER.stream = sys.stdout = sys.__stdout__
|
LOGGER_HANDLER.stream = sys.stdout = sys.__stdout__
|
||||||
|
|
||||||
if unhandled_exception:
|
if unhandled_exception:
|
||||||
Failures.failedTraceBack = "unhandled exception: %s" % str(traceback.format_exc())
|
_failures.failedTraceBack = "unhandled exception: %s" % str(traceback.format_exc())
|
||||||
retVal = None
|
retVal = None
|
||||||
elif handled_exception:
|
elif handled_exception:
|
||||||
Failures.failedTraceBack = "handled exception: %s" % str(traceback.format_exc())
|
_failures.failedTraceBack = "handled exception: %s" % str(traceback.format_exc())
|
||||||
retVal = None
|
retVal = None
|
||||||
elif result is False: # this means no SQL injection has been detected - if None, ignore
|
elif result is False: # this means no SQL injection has been detected - if None, ignore
|
||||||
retVal = False
|
retVal = False
|
||||||
|
@ -299,17 +301,17 @@ def runCase(parse):
|
||||||
if item.startswith("r'") and item.endswith("'"):
|
if item.startswith("r'") and item.endswith("'"):
|
||||||
if not re.search(item[2:-1], parse_on, re.DOTALL):
|
if not re.search(item[2:-1], parse_on, re.DOTALL):
|
||||||
retVal = None
|
retVal = None
|
||||||
Failures.failedItems.append(item)
|
_failures.failedItems.append(item)
|
||||||
|
|
||||||
elif item not in parse_on:
|
elif item not in parse_on:
|
||||||
retVal = None
|
retVal = None
|
||||||
Failures.failedItems.append(item)
|
_failures.failedItems.append(item)
|
||||||
|
|
||||||
if Failures.failedItems:
|
if _failures.failedItems:
|
||||||
Failures.failedParseOn = console
|
_failures.failedParseOn = console
|
||||||
|
|
||||||
elif retVal is False:
|
elif retVal is False:
|
||||||
Failures.failedParseOn = console
|
_failures.failedParseOn = console
|
||||||
|
|
||||||
return retVal
|
return retVal
|
||||||
|
|
||||||
|
|
|
@ -45,11 +45,11 @@ e60456db5380840a586654344003d4e6 lib/core/readlineng.py
|
||||||
5ef56abb8671c2ca6ceecb208258e360 lib/core/replication.py
|
5ef56abb8671c2ca6ceecb208258e360 lib/core/replication.py
|
||||||
99a2b496b9d5b546b335653ca801153f lib/core/revision.py
|
99a2b496b9d5b546b335653ca801153f lib/core/revision.py
|
||||||
7c15dd2777af4dac2c89cab6df17462e lib/core/session.py
|
7c15dd2777af4dac2c89cab6df17462e lib/core/session.py
|
||||||
137081b65629992ef3968f0290f86955 lib/core/settings.py
|
7592c234fac1036667aaa5a772615fa8 lib/core/settings.py
|
||||||
7af83e4f18cab6dff5e67840eb65be80 lib/core/shell.py
|
7af83e4f18cab6dff5e67840eb65be80 lib/core/shell.py
|
||||||
23657cd7d924e3c6d225719865855827 lib/core/subprocessng.py
|
23657cd7d924e3c6d225719865855827 lib/core/subprocessng.py
|
||||||
0bc2fae1dec18cdd11954b22358293f2 lib/core/target.py
|
0bc2fae1dec18cdd11954b22358293f2 lib/core/target.py
|
||||||
3c7478f279ed1b5645b4a75b29d4ac5d lib/core/testing.py
|
d43f059747ffd48952922c94152e2a07 lib/core/testing.py
|
||||||
424a6cf9bdfaf7182657ed7929d7df5a lib/core/threads.py
|
424a6cf9bdfaf7182657ed7929d7df5a lib/core/threads.py
|
||||||
53c15b78e0288274f52410db25406432 lib/core/unescaper.py
|
53c15b78e0288274f52410db25406432 lib/core/unescaper.py
|
||||||
6bdc53e2ca152ff8cd35ad671e48a96b lib/core/update.py
|
6bdc53e2ca152ff8cd35ad671e48a96b lib/core/update.py
|
||||||
|
@ -441,7 +441,7 @@ d989813ee377252bca2103cea524c06b xml/banner/sharepoint.xml
|
||||||
2394458d582a636c52342cff33ae3035 xml/banner/x-powered-by.xml
|
2394458d582a636c52342cff33ae3035 xml/banner/x-powered-by.xml
|
||||||
fb93505ef0ab3b4a20900f3e5625260d xml/boundaries.xml
|
fb93505ef0ab3b4a20900f3e5625260d xml/boundaries.xml
|
||||||
535d625cff8418bdc086ab4e1bbf5135 xml/errors.xml
|
535d625cff8418bdc086ab4e1bbf5135 xml/errors.xml
|
||||||
2e13b9e0a51768969d4ccc02cf62ea70 xml/livetests.xml
|
a279656ea3fcb85c727249b02f828383 xml/livetests.xml
|
||||||
18b2c7e5738a3be72d759af96a9aaddf xml/payloads/boolean_blind.xml
|
18b2c7e5738a3be72d759af96a9aaddf xml/payloads/boolean_blind.xml
|
||||||
103a4c9b12c582b24a3fac8147a9c8d4 xml/payloads/error_based.xml
|
103a4c9b12c582b24a3fac8147a9c8d4 xml/payloads/error_based.xml
|
||||||
06b1a210b190d52477a9d492443725b5 xml/payloads/inline_query.xml
|
06b1a210b190d52477a9d492443725b5 xml/payloads/inline_query.xml
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user