mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-25 19:13:48 +03:00
Implementing --proxy-freq (Issue #4496)
This commit is contained in:
parent
bb02eefb70
commit
1b2ac3069d
|
@ -2714,6 +2714,10 @@ def _basicOptionValidation():
|
||||||
errMsg = "switch '--proxy' is incompatible with option '--proxy-file'"
|
errMsg = "switch '--proxy' is incompatible with option '--proxy-file'"
|
||||||
raise SqlmapSyntaxException(errMsg)
|
raise SqlmapSyntaxException(errMsg)
|
||||||
|
|
||||||
|
if conf.proxyFreq and not conf.proxyFile:
|
||||||
|
errMsg = "option '--proxy-freq' requires usage of option '--proxy-file'"
|
||||||
|
raise SqlmapSyntaxException(errMsg)
|
||||||
|
|
||||||
if conf.checkTor and not any((conf.tor, conf.proxy)):
|
if conf.checkTor and not any((conf.tor, conf.proxy)):
|
||||||
errMsg = "switch '--check-tor' requires usage of switch '--tor' (or option '--proxy' with HTTP proxy address of Tor service)"
|
errMsg = "switch '--check-tor' requires usage of switch '--tor' (or option '--proxy' with HTTP proxy address of Tor service)"
|
||||||
raise SqlmapSyntaxException(errMsg)
|
raise SqlmapSyntaxException(errMsg)
|
||||||
|
|
|
@ -46,6 +46,7 @@ optDict = {
|
||||||
"proxy": "string",
|
"proxy": "string",
|
||||||
"proxyCred": "string",
|
"proxyCred": "string",
|
||||||
"proxyFile": "string",
|
"proxyFile": "string",
|
||||||
|
"proxyFreq": "integer",
|
||||||
"tor": "boolean",
|
"tor": "boolean",
|
||||||
"torPort": "integer",
|
"torPort": "integer",
|
||||||
"torType": "string",
|
"torType": "string",
|
||||||
|
|
|
@ -18,7 +18,7 @@ from lib.core.enums import OS
|
||||||
from thirdparty.six import unichr as _unichr
|
from thirdparty.six import unichr as _unichr
|
||||||
|
|
||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
|
||||||
VERSION = "1.4.12.36"
|
VERSION = "1.4.12.37"
|
||||||
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)
|
||||||
|
|
|
@ -222,6 +222,9 @@ def cmdLineParser(argv=None):
|
||||||
request.add_argument("--proxy-file", dest="proxyFile",
|
request.add_argument("--proxy-file", dest="proxyFile",
|
||||||
help="Load proxy list from a file")
|
help="Load proxy list from a file")
|
||||||
|
|
||||||
|
request.add_argument("--proxy-freq", dest="proxyFreq", type=int,
|
||||||
|
help="Requests between change of proxy from a given list")
|
||||||
|
|
||||||
request.add_argument("--tor", dest="tor", action="store_true",
|
request.add_argument("--tor", dest="tor", action="store_true",
|
||||||
help="Use Tor anonymity network")
|
help="Use Tor anonymity network")
|
||||||
|
|
||||||
|
|
|
@ -285,6 +285,15 @@ class Connect(object):
|
||||||
kb.requestCounter += 1
|
kb.requestCounter += 1
|
||||||
threadData.lastRequestUID = kb.requestCounter
|
threadData.lastRequestUID = kb.requestCounter
|
||||||
|
|
||||||
|
if conf.proxyFreq:
|
||||||
|
if kb.requestCounter % conf.proxyFreq == 1:
|
||||||
|
conf.proxy = None
|
||||||
|
|
||||||
|
warnMsg = "changing proxy"
|
||||||
|
logger.warn(warnMsg)
|
||||||
|
|
||||||
|
setHTTPHandlers()
|
||||||
|
|
||||||
if conf.dummy or conf.murphyRate and randomInt() % conf.murphyRate == 0:
|
if conf.dummy or conf.murphyRate and randomInt() % conf.murphyRate == 0:
|
||||||
if conf.murphyRate:
|
if conf.murphyRate:
|
||||||
time.sleep(randomInt() % (MAX_MURPHY_SLEEP_TIME + 1))
|
time.sleep(randomInt() % (MAX_MURPHY_SLEEP_TIME + 1))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user