Skip to content

Commit cd76d8f

Browse files
committed
Improved input handling
Removed kick back to main menu when entering an invalid selection in parameter injection selection.
1 parent 2eea1f8 commit cd76d8f

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

nosqlmap.py

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ def mainMenu():
4242
while select:
4343
os.system('clear')
4444
#label = subprocess.check_output(["git","describe","--always"])
45-
print "NoSQLMap-v0.15b"
45+
print "NoSQLMap-v0.2"
4646
4747
print "\n"
4848
print "1-Set options"
4949
print "2-NoSQL DB Access Attacks"
5050
print "3-NoSQL Web App attacks"
5151
print "4-Scan for Anonymous MongoDB Access"
52-
print "5-Exit"
52+
print "x-Exit"
5353

5454
select = raw_input("Select an option: ")
5555

@@ -78,7 +78,7 @@ def mainMenu():
7878
elif select == "4":
7979
massMongo()
8080

81-
elif select == "5":
81+
elif select == "x":
8282
sys.exit()
8383

8484
else:
@@ -684,23 +684,30 @@ def randInjString(size):
684684
print "2-Letters only"
685685
print "3-Numbers only"
686686
print "4-Email address"
687-
format = raw_input("Select an option: ")
687+
format = True
688+
689+
while format:
690+
format = raw_input("Select an option: ")
688691

689-
if format == "1":
690-
chars = string.ascii_letters + string.digits
691-
return ''.join(random.choice(chars) for x in range(size))
692+
if format == "1":
693+
chars = string.ascii_letters + string.digits
694+
return ''.join(random.choice(chars) for x in range(size))
692695

693-
elif format == "2":
694-
chars = string.ascii_letters
695-
return ''.join(random.choice(chars) for x in range(size))
696+
elif format == "2":
697+
chars = string.ascii_letters
698+
return ''.join(random.choice(chars) for x in range(size))
696699

697-
elif format == "3":
698-
chars = string.digits
699-
return ''.join(random.choice(chars) for x in range(size))
700+
elif format == "3":
701+
chars = string.digits
702+
return ''.join(random.choice(chars) for x in range(size))
700703

701-
elif format == "4":
702-
chars = string.ascii_letters + string.digits
703-
return ''.join(random.choice(chars) for x in range(size)) + '@' + ''.join(random.choice(chars) for x in range(size)) + '.com'
704+
elif format == "4":
705+
chars = string.ascii_letters + string.digits
706+
return ''.join(random.choice(chars) for x in range(size)) + '@' + ''.join(random.choice(chars) for x in range(size)) + '.com'
707+
708+
else:
709+
format = True
710+
print "Invalid selection."
704711

705712

706713
def buildUri(origUri, randValue):

0 commit comments

Comments
 (0)