mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-26 03:23:48 +03:00
Adding option --tmp-dir
This commit is contained in:
parent
afdca09ced
commit
680aedaefc
|
@ -1548,6 +1548,24 @@ def _createTemporaryDirectory():
|
||||||
Creates temporary directory for this run.
|
Creates temporary directory for this run.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if conf.tmpDir:
|
||||||
|
try:
|
||||||
|
if not os.path.isdir(conf.tmpDir):
|
||||||
|
os.makedirs(conf.tmpDir)
|
||||||
|
|
||||||
|
_ = os.path.join(conf.tmpDir, randomStr())
|
||||||
|
open(_, "w+b").close()
|
||||||
|
os.remove(_)
|
||||||
|
|
||||||
|
tempfile.tempdir = conf.tmpDir
|
||||||
|
|
||||||
|
warnMsg = "using '%s' as the temporary directory" % conf.tmpDir
|
||||||
|
logger.warn(warnMsg)
|
||||||
|
except (OSError, IOError), ex:
|
||||||
|
errMsg = "there has been a problem while accessing "
|
||||||
|
errMsg += "temporary directory location(s) ('%s')" % getSafeExString(ex)
|
||||||
|
raise SqlmapSystemException, errMsg
|
||||||
|
else:
|
||||||
try:
|
try:
|
||||||
if not os.path.isdir(tempfile.gettempdir()):
|
if not os.path.isdir(tempfile.gettempdir()):
|
||||||
os.makedirs(tempfile.gettempdir())
|
os.makedirs(tempfile.gettempdir())
|
||||||
|
@ -1559,7 +1577,7 @@ def _createTemporaryDirectory():
|
||||||
errMsg += "writeable by the current user"
|
errMsg += "writeable by the current user"
|
||||||
raise SqlmapSystemException, errMsg
|
raise SqlmapSystemException, errMsg
|
||||||
|
|
||||||
if "sqlmap" not in (tempfile.tempdir or ""):
|
if "sqlmap" not in (tempfile.tempdir or "") or conf.tmpDir and tempfile.tempdir == conf.tmpDir:
|
||||||
tempfile.tempdir = tempfile.mkdtemp(prefix="sqlmap", suffix=str(os.getpid()))
|
tempfile.tempdir = tempfile.mkdtemp(prefix="sqlmap", suffix=str(os.getpid()))
|
||||||
|
|
||||||
kb.tempDir = tempfile.tempdir
|
kb.tempDir = tempfile.tempdir
|
||||||
|
|
|
@ -218,11 +218,14 @@ optDict = {
|
||||||
"dependencies": "boolean",
|
"dependencies": "boolean",
|
||||||
"disableColoring": "boolean",
|
"disableColoring": "boolean",
|
||||||
"googlePage": "integer",
|
"googlePage": "integer",
|
||||||
|
"identifyWaf": "boolean",
|
||||||
"mobile": "boolean",
|
"mobile": "boolean",
|
||||||
"offline": "boolean",
|
"offline": "boolean",
|
||||||
"pageRank": "boolean",
|
"pageRank": "boolean",
|
||||||
"purgeOutput": "boolean",
|
"purgeOutput": "boolean",
|
||||||
|
"skipWaf": "boolean",
|
||||||
"smart": "boolean",
|
"smart": "boolean",
|
||||||
|
"tmpDir": "string",
|
||||||
"wizard": "boolean",
|
"wizard": "boolean",
|
||||||
"verbose": "integer",
|
"verbose": "integer",
|
||||||
},
|
},
|
||||||
|
@ -231,8 +234,6 @@ optDict = {
|
||||||
"disablePrecon": "boolean",
|
"disablePrecon": "boolean",
|
||||||
"profile": "boolean",
|
"profile": "boolean",
|
||||||
"forceDns": "boolean",
|
"forceDns": "boolean",
|
||||||
"identifyWaf": "boolean",
|
|
||||||
"skipWaf": "boolean",
|
|
||||||
"ignore401": "boolean",
|
"ignore401": "boolean",
|
||||||
"smokeTest": "boolean",
|
"smokeTest": "boolean",
|
||||||
"liveTest": "boolean",
|
"liveTest": "boolean",
|
||||||
|
|
|
@ -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.5.128"
|
VERSION = "1.0.5.129"
|
||||||
REVISION = getRevisionNumber()
|
REVISION = getRevisionNumber()
|
||||||
STABLE = VERSION.count('.') <= 2
|
STABLE = VERSION.count('.') <= 2
|
||||||
VERSION_STRING = "sqlmap/%s#%s" % (VERSION, "stable" if STABLE else "dev")
|
VERSION_STRING = "sqlmap/%s#%s" % (VERSION, "stable" if STABLE else "dev")
|
||||||
|
|
|
@ -719,10 +719,6 @@ def cmdLineParser(argv=None):
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Make a thorough testing for a WAF/IPS/IDS protection")
|
help="Make a thorough testing for a WAF/IPS/IDS protection")
|
||||||
|
|
||||||
miscellaneous.add_option("--skip-waf", dest="skipWaf",
|
|
||||||
action="store_true",
|
|
||||||
help="Skip heuristic detection of WAF/IPS/IDS protection")
|
|
||||||
|
|
||||||
miscellaneous.add_option("--mobile", dest="mobile",
|
miscellaneous.add_option("--mobile", dest="mobile",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Imitate smartphone through HTTP User-Agent header")
|
help="Imitate smartphone through HTTP User-Agent header")
|
||||||
|
@ -739,6 +735,10 @@ def cmdLineParser(argv=None):
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Safely remove all content from output directory")
|
help="Safely remove all content from output directory")
|
||||||
|
|
||||||
|
miscellaneous.add_option("--skip-waf", dest="skipWaf",
|
||||||
|
action="store_true",
|
||||||
|
help="Skip heuristic detection of WAF/IPS/IDS protection")
|
||||||
|
|
||||||
miscellaneous.add_option("--smart", dest="smart",
|
miscellaneous.add_option("--smart", dest="smart",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Conduct thorough tests only if positive heuristic(s)")
|
help="Conduct thorough tests only if positive heuristic(s)")
|
||||||
|
@ -746,6 +746,9 @@ def cmdLineParser(argv=None):
|
||||||
miscellaneous.add_option("--sqlmap-shell", dest="sqlmapShell", action="store_true",
|
miscellaneous.add_option("--sqlmap-shell", dest="sqlmapShell", action="store_true",
|
||||||
help="Prompt for an interactive sqlmap shell")
|
help="Prompt for an interactive sqlmap shell")
|
||||||
|
|
||||||
|
miscellaneous.add_option("--tmp-dir", dest="tmpDir",
|
||||||
|
help="Local directory for storing temporary files")
|
||||||
|
|
||||||
miscellaneous.add_option("--wizard", dest="wizard",
|
miscellaneous.add_option("--wizard", dest="wizard",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
help="Simple wizard interface for beginner users")
|
help="Simple wizard interface for beginner users")
|
||||||
|
|
11
sqlmap.conf
11
sqlmap.conf
|
@ -756,10 +756,6 @@ googlePage = 1
|
||||||
# Valid: True or False
|
# Valid: True or False
|
||||||
identifyWaf = False
|
identifyWaf = False
|
||||||
|
|
||||||
# Skip heuristic detection of WAF/IPS/IDS protection.
|
|
||||||
# Valid: True or False
|
|
||||||
skipWaf = False
|
|
||||||
|
|
||||||
# Imitate smartphone through HTTP User-Agent header.
|
# Imitate smartphone through HTTP User-Agent header.
|
||||||
# Valid: True or False
|
# Valid: True or False
|
||||||
mobile = False
|
mobile = False
|
||||||
|
@ -772,10 +768,17 @@ offline = False
|
||||||
# Valid: True or False
|
# Valid: True or False
|
||||||
pageRank = False
|
pageRank = False
|
||||||
|
|
||||||
|
# Skip heuristic detection of WAF/IPS/IDS protection.
|
||||||
|
# Valid: True or False
|
||||||
|
skipWaf = False
|
||||||
|
|
||||||
# Conduct thorough tests only if positive heuristic(s).
|
# Conduct thorough tests only if positive heuristic(s).
|
||||||
# Valid: True or False
|
# Valid: True or False
|
||||||
smart = False
|
smart = False
|
||||||
|
|
||||||
|
# Local directory for storing temporary files.
|
||||||
|
tmpDir =
|
||||||
|
|
||||||
# Simple wizard interface for beginner users.
|
# Simple wizard interface for beginner users.
|
||||||
# Valid: True or False
|
# Valid: True or False
|
||||||
wizard = False
|
wizard = False
|
||||||
|
|
Loading…
Reference in New Issue
Block a user