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

Skip to content

Commit efa99c4

Browse files
committed
Implementation for an Issue #4
1 parent b355249 commit efa99c4

4 files changed

Lines changed: 15 additions & 3 deletions

File tree

lib/core/optiondict.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@
8888
"timeSec": "integer",
8989
"uCols": "string",
9090
"uChar": "string",
91-
"dnsName": "string"
91+
"dnsName": "string",
92+
"secondOrder": "string"
9293
},
9394

9495
"Fingerprint": {

lib/parse/cmdline.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,10 @@ def cmdLineParser():
288288
techniques.add_option("--dns-domain", dest="dnsName",
289289
help="Domain name used for DNS exfiltration attack")
290290

291+
techniques.add_option("--second-order", dest="secondOrder",
292+
help="Resulting page url searched for second-order "
293+
"response")
294+
291295
# Fingerprint options
292296
fingerprint = OptionGroup(parser, "Fingerprint")
293297

lib/request/connect.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ def getPage(**kwargs):
192192
code = None
193193
page = None
194194
requestMsg = u"HTTP request [#%d]:\n%s " % (threadData.lastRequestUID, method or (HTTPMETHOD.POST if post else HTTPMETHOD.GET))
195-
requestMsg += "%s" % urlparse.urlsplit(url)[2] or "/"
195+
requestMsg += ("%s" % urlparse.urlsplit(url)[2] or "/") if not any((refreshing, crawling)) else url
196196
responseMsg = u"HTTP response "
197197
requestHeaders = u""
198198
responseHeaders = None
@@ -236,7 +236,7 @@ def getPage(**kwargs):
236236

237237
return page
238238

239-
elif any ([refreshing, crawling]):
239+
elif any ((refreshing, crawling)):
240240
pass
241241

242242
elif target:
@@ -731,6 +731,9 @@ def _randomizeParameter(paramString, randomParameter):
731731
if not pageLength:
732732
page, headers, code = Connect.getPage(url=uri, get=get, post=post, cookie=cookie, ua=ua, referer=referer, host=host, silent=silent, method=method, auxHeaders=auxHeaders, response=response, raise404=raise404, ignoreTimeout=timeBasedCompare)
733733

734+
if conf.secondOrder:
735+
page, headers, code = Connect.getPage(url=conf.secondOrder, cookie=cookie, ua=ua, silent=silent, auxHeaders=auxHeaders, response=response, raise404=False, ignoreTimeout=timeBasedCompare, refreshing=True)
736+
734737
threadData.lastQueryDuration = calculateDeltaSeconds(start)
735738

736739
kb.originalCode = kb.originalCode or code

sqlmap.conf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,10 @@ uChar =
310310
# Valid: string
311311
dnsName =
312312

313+
# Resulting page url searched for second-order response
314+
# Valid: string
315+
secondOrder =
316+
313317

314318
[Fingerprint]
315319

0 commit comments

Comments
 (0)