Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 627d990

Browse files
committed
Proper patch for #3955
1 parent 9b42319 commit 627d990

3 files changed

Lines changed: 15 additions & 14 deletions

File tree

lib/core/option.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -467,7 +467,7 @@ def _findPageForms():
467467
logger.info(infoMsg)
468468

469469
if not any((conf.bulkFile, conf.googleDork, conf.sitemapUrl)):
470-
page, _, _ = Request.queryPage(content=True)
470+
page, _, _ = Request.queryPage(content=True, ignoreSecondOrder=True)
471471
if findPageForms(page, conf.url, True, True):
472472
found = True
473473
else:

lib/core/settings.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from thirdparty.six import unichr as _unichr
1919

2020
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
21-
VERSION = "1.3.10.9"
21+
VERSION = "1.3.10.10"
2222
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
2323
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
2424
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)

lib/request/connect.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,7 @@ class _(dict):
839839

840840
@staticmethod
841841
@stackedmethod
842-
def queryPage(value=None, place=None, content=False, getRatioValue=False, silent=False, method=None, timeBasedCompare=False, noteResponseTime=True, auxHeaders=None, response=False, raise404=None, removeReflection=True, disableTampering=False):
842+
def queryPage(value=None, place=None, content=False, getRatioValue=False, silent=False, method=None, timeBasedCompare=False, noteResponseTime=True, auxHeaders=None, response=False, raise404=None, removeReflection=True, disableTampering=False, ignoreSecondOrder=False):
843843
"""
844844
This method calls a function to get the target URL page content
845845
and returns its page ratio (0 <= ratio <= 1) or a boolean value
@@ -1339,17 +1339,18 @@ def _randomizeParameter(paramString, randomParameter):
13391339
warnMsg += "behavior in custom WAF/IPS solutions"
13401340
singleTimeWarnMessage(warnMsg)
13411341

1342-
if conf.secondUrl:
1343-
page, headers, code = Connect.getPage(url=conf.secondUrl, cookie=cookie, ua=ua, silent=silent, auxHeaders=auxHeaders, response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
1344-
elif kb.secondReq and IPS_WAF_CHECK_PAYLOAD not in _urllib.parse.unquote(value or ""):
1345-
def _(value):
1346-
if kb.customInjectionMark in (value or ""):
1347-
if payload is None:
1348-
value = value.replace(kb.customInjectionMark, "")
1349-
else:
1350-
value = re.sub(r"\w*%s" % re.escape(kb.customInjectionMark), payload, value)
1351-
return value
1352-
page, headers, code = Connect.getPage(url=_(kb.secondReq[0]), post=_(kb.secondReq[2]), method=kb.secondReq[1], cookie=kb.secondReq[3], silent=silent, auxHeaders=dict(auxHeaders, **dict(kb.secondReq[4])), response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
1342+
if not ignoreSecondOrder:
1343+
if conf.secondUrl:
1344+
page, headers, code = Connect.getPage(url=conf.secondUrl, cookie=cookie, ua=ua, silent=silent, auxHeaders=auxHeaders, response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
1345+
elif kb.secondReq and IPS_WAF_CHECK_PAYLOAD not in _urllib.parse.unquote(value or ""):
1346+
def _(value):
1347+
if kb.customInjectionMark in (value or ""):
1348+
if payload is None:
1349+
value = value.replace(kb.customInjectionMark, "")
1350+
else:
1351+
value = re.sub(r"\w*%s" % re.escape(kb.customInjectionMark), payload, value)
1352+
return value
1353+
page, headers, code = Connect.getPage(url=_(kb.secondReq[0]), post=_(kb.secondReq[2]), method=kb.secondReq[1], cookie=kb.secondReq[3], silent=silent, auxHeaders=dict(auxHeaders, **dict(kb.secondReq[4])), response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
13531354

13541355
threadData.lastQueryDuration = calculateDeltaSeconds(start)
13551356

0 commit comments

Comments
 (0)