Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c324ff7

Browse files
authored
Merge pull request #81 from alexdetrano/master
fixed injectSize type error for Post attacks
2 parents ba39e50 + a86d230 commit c324ff7

File tree

2 files changed

+50
-45
lines changed

2 files changed

+50
-45
lines changed

‎nosqlmap.py

Lines changed: 49 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -400,46 +400,51 @@ def options():
400400

401401
elif select == "0":
402402
loadPath = raw_input("Enter file name to load: ")
403+
cvsOpt = []
403404
try:
404-
fo = open(loadPath,"r" )
405-
csvOpt = fo.readlines()
406-
fo.close()
407-
optList = csvOpt[0].split(",")
408-
victim = optList[0]
409-
webPort = optList[1]
410-
uri = optList[2]
411-
httpMethod = optList[3]
412-
myIP = optList[4]
413-
myPort = optList[5]
414-
verb = optList[6]
415-
https = optList[7]
405+
with open(loadPath,"r") as fo:
406+
for line in fo:
407+
cvsOpt.append(line.rstrip())
408+
except IOError as e:
409+
print "I/O error({0}): {1}".format(e.errno, e.strerror)
410+
raw_input("error reading file. Press enter to continue...")
411+
return
412+
413+
optList = csvOpt[0].split(",")
414+
victim = optList[0]
415+
webPort = optList[1]
416+
uri = optList[2]
417+
httpMethod = optList[3]
418+
myIP = optList[4]
419+
myPort = optList[5]
420+
verb = optList[6]
421+
https = optList[7]
422+
423+
# saved headers position will depend of the request verb
424+
headersPos= 1
425+
426+
if httpMethod == "POST":
427+
postData = ast.literal_eval(csvOpt[1])
428+
headersPos = 2
416429

417-
# saved headers position will depend of the request verb
418-
headersPos= 1
419-
420-
if httpMethod == "POST":
421-
postData = ast.literal_eval(csvOpt[1])
422-
headersPos = 2
423-
424-
requestHeaders = ast.literal_eval(csvOpt[headersPos])
425-
426-
# Set option checking array based on what was loaded
427-
x = 0
428-
for item in optList:
429-
if item != "Not Set":
430-
optionSet[x] = True
431-
x += 1
432-
except:
433-
print "Couldn't load options file!"
430+
requestHeaders = ast.literal_eval(csvOpt[headersPos])
431+
432+
# Set option checking array based on what was loaded
433+
x = 0
434+
for item in optList:
435+
if item != "Not Set":
436+
optionSet[x] = True
437+
x += 1
434438

435439
elif select == "a":
436440
loadPath = raw_input("Enter path to Burp request file: ")
437-
441+
reqData= []
438442
try:
439-
fo = open(loadPath,"r")
440-
reqData = fo.readlines()
441-
442-
except:
443+
with open(loadPath,"r") as fo:
444+
for line in fo:
445+
reqData.append(line.rstrip())
446+
except IOError as e:
447+
print "I/O error({0}): {1}".format(e.errno, e.strerror)
443448
raw_input("error reading file. Press enter to continue...")
444449
return
445450

@@ -473,23 +478,22 @@ def options():
473478
header = line.split(": ");
474479
requestHeaders[header[0]] = header[1].strip()
475480

476-
victim = reqData[1].split( " ")[1].replace("\r\n","")
481+
victim = reqData[1].split( " ")[1]
477482
optionSet[0] = True
478-
uri = methodPath[1].replace("\r\n","")
483+
uri = methodPath[1]
479484
optionSet[2] = True
480485

481486
elif select == "b":
482487
savePath = raw_input("Enter file name to save: ")
483488
try:
484-
fo = open(savePath, "wb")
485-
fo.write(str(victim) + "," + str(webPort) + "," + str(uri) + "," + str(httpMethod) + "," + str(myIP) + "," + str(myPort) + "," + verb + "," + https)
486-
487-
if httpMethod == "POST":
488-
fo.write(",\n"+ str(postData))
489-
fo.write(",\n" + str(requestHeaders) )
490-
fo.close()
491-
print "Options file saved!"
492-
except:
489+
with open(savePath, "wb") as fo:
490+
fo.write(str(victim) + "," + str(webPort) + "," + str(uri) + "," + str(httpMethod) + "," + str(myIP) + "," + str(myPort) + "," + verb + "," + https)
491+
492+
if httpMethod == "POST":
493+
fo.write(",\n"+ str(postData))
494+
fo.write(",\n" + str(requestHeaders) )
495+
print "Options file saved!"
496+
except IOError:
493497
print "Couldn't save options file."
494498

495499
elif select == "h":

‎nsmweb.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,7 @@ def postApps(victim,webPort,uri,https,verb,postData,requestHeaders, args = None)
483483
injectSize = int(args.injectSize)
484484
format = args.injectFormat
485485

486+
injectSize = int(injectSize)
486487
injectString = build_random_string(format, injectSize)
487488

488489
print "Using " + injectString + " for injection testing.\n"

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /