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

Skip to content

Commit f97fcb7

Browse files
committed
Adding a switch --invalid-string
1 parent f88f6dc commit f97fcb7

5 files changed

Lines changed: 14 additions & 0 deletions

File tree

lib/controller/checks.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -329,11 +329,14 @@ def checkSqlInjection(place, parameter, value):
329329
# one as we are changing parameters value, which
330330
# will likely result in a different content
331331
kb.data.setdefault("randomInt", str(randomInt(10)))
332+
kb.data.setdefault("randomStr", str(randomStr(10)))
332333
if conf.invalidLogical:
333334
_ = int(kb.data.randomInt[:2])
334335
origValue = "%s AND %s=%s" % (value, _, _ + 1)
335336
elif conf.invalidBignum:
336337
origValue = kb.data.randomInt[:6]
338+
elif conf.invalidString:
339+
origValue = kb.data.randomStr[:6]
337340
else:
338341
origValue = "-%s" % kb.data.randomInt[:4]
339342
templatePayload = agent.payload(place, parameter, value="", newValue=origValue, where=where)

lib/core/agent.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ def payload(self, place=None, parameter=None, value=None, newValue=None, where=N
122122
value = "%s%s AND %s=%s" % (origValue, match.group() if match else "", _, _ + 1)
123123
elif conf.invalidBignum:
124124
value = randomInt(6)
125+
elif conf.invalidString:
126+
value = randomStr(6)
125127
else:
126128
if newValue.startswith("-"):
127129
value = ""

lib/core/optiondict.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
"os": "string",
7373
"invalidBignum": "boolean",
7474
"invalidLogical": "boolean",
75+
"invalidString": "boolean",
7576
"noCast": "boolean",
7677
"noEscape": "boolean",
7778
"prefix": "string",

lib/parse/cmdline.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,10 @@ def cmdLineParser():
239239
action="store_true",
240240
help="Use logical operations for invalidating values")
241241

242+
injection.add_option("--invalid-string", dest="invalidString",
243+
action="store_true",
244+
help="Use random strings for invalidating values")
245+
242246
injection.add_option("--no-cast", dest="noCast",
243247
action="store_true",
244248
help="Turn off payload casting mechanism")

sqlmap.conf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,10 @@ invalidBignum = False
233233
# Valid: True or False
234234
invalidLogical = False
235235

236+
# Use random strings for invalidating values.
237+
# Valid: True or False
238+
invalidString = False
239+
236240
# Turn off payload casting mechanism
237241
# Valid: True or False
238242
noCast = False

0 commit comments

Comments
 (0)