GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — NoSQLMap/nsmscan.py at master · wolfking2/NoSQLMap Expand file tree/ Copy pathnsmscan.pyMore file actions 157 lines (120 loc) · 4.56 KB / Copy pathnsmscan.pyFile metadata and controls157 lines (120 loc) · 4.56 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 #!/usr/bin/python # NoSQLMap Copyright 2012-2017 NoSQLMap Development team # See the file 'doc/COPYING' for copying permission from exception import NoSQLMapException import ipcalc import nsmmongo import nsmcouch def args(): return [] def massScan(platform, args = None): yes_tag = ['y', 'Y'] no_tag = ['n', 'N'] optCheck = True loadCheck = False ping = False success = [] versions = [] creds = [] commError = [] ipList = [] resultSet = [] print "\n" print platform + " Default Access Scanner" print "==============================" print "1-Scan a subnet for default " + platform + " access" print "2-Loads IPs to scan from a file" print "3-Enable/disable host pings before attempting connection" print "x-Return to main menu" while optCheck: loadOpt = raw_input("Select an option: ") if loadOpt == "1": subnet = raw_input("Enter subnet to scan: ") try: for ip in ipcalc.Network(subnet): ipList.append(str(ip)) optCheck = False except NoSQLMapException: raw_input("Not a valid subnet. Press enter to return to main menu.") return if loadOpt == "2": while loadCheck == False: loadPath = raw_input("Enter file name with IP list to scan: ") try: with open (loadPath) as f: ipList = f.readlines() loadCheck = True optCheck = False except NoSQLMapException: print "Couldn't open file." if loadOpt == "3": if ping == False: ping = True print "Scan will ping host before connection attempt." elif ping == True: ping = False print "Scan will not ping host before connection attempt." if loadOpt == "x": return print "\n" for target in ipList: if platform == "MongoDB": result = nsmmongo.mongoScan(target.rstrip(),27017,ping) elif platform == "CouchDB": result = nsmcouch.couchScan(target.rstrip(),5984,ping) if result[0] == 0: print "Successful default access on " + target.rstrip() + "(" + platform + " Version: " + result[1] + ")." success.append(target.rstrip()) versions.append(result[1]) elif result[0] == 1: print platform + " running but credentials required on " + target.rstrip() + "." creds.append(target.rstrip()) # Future use elif result[0] == 2: print "Successful " + platform + " connection to " + target.rstrip() + " but error executing command." commError.append(target.rstrip()) # Future use elif result[0] == 3: print "Couldn't connect to " + target.rstrip() + "." elif result[0] == 4: print target.rstrip() + " didn't respond to ping." print "\n\n" select = True while select: saveEm = raw_input("Save scan results to CSV? (y/n):") if saveEm in yes_tag: savePath = raw_input("Enter file name to save: ") outCounter = 0 try: fo = open(savePath, "wb") fo.write("IP Address," + platform + " Version\n") for server in success: fo.write(server + "," + versions[outCounter] + "\n" ) outCounter += 1 fo.close() print "Scan results saved!" select = False except NoSQLMapException: print "Couldn't save scan results." elif saveEm in no_tag: select = False else: select = True print "Discovered " + platform + " Servers with No Auth:" print "IP" + " " + "Version" outCounter= 1 for server in success: print str(outCounter) + "-" + server + " " + versions[outCounter - 1] outCounter += 1 select = True print "\n" while select: select = raw_input("Select a NoSQLMap target or press x to exit: ") if select == "x" or select == "X": return None elif select.isdigit() == True and int(select) <= outCounter: victim = success[int(select) - 1] resultSet[0] = True resultSet[1] = victim raw_input("New target set! Press enter to return to the main menu.") return resultSet else: raw_input("Invalid selection.") |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |