mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-11-04 01:47:37 +03:00 
			
		
		
		
	Trivial update
This commit is contained in:
		
							parent
							
								
									5f2bb88037
								
							
						
					
					
						commit
						2d05174545
					
				| 
						 | 
					@ -40,7 +40,7 @@ def prepare_email(content):
 | 
				
			||||||
    msg = MIMEMultipart()
 | 
					    msg = MIMEMultipart()
 | 
				
			||||||
    msg["Subject"] = SUBJECT
 | 
					    msg["Subject"] = SUBJECT
 | 
				
			||||||
    msg["From"] = FROM
 | 
					    msg["From"] = FROM
 | 
				
			||||||
    msg["To"] = TO if isinstance(TO, basestring) else ",".join(TO)
 | 
					    msg["To"] = TO if isinstance(TO, basestring) else ','.join(TO)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    msg.attach(MIMEText(content))
 | 
					    msg.attach(MIMEText(content))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -63,7 +63,7 @@ class Agent(object):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if Backend.getIdentifiedDbms() in (DBMS.ORACLE,):  # non-standard object(s) make problems to a database connector while returned (e.g. XMLTYPE)
 | 
					        if Backend.getIdentifiedDbms() in (DBMS.ORACLE,):  # non-standard object(s) make problems to a database connector while returned (e.g. XMLTYPE)
 | 
				
			||||||
            _, _, _, _, _, _, fieldsToCastStr, _ = self.getFields(query)
 | 
					            _, _, _, _, _, _, fieldsToCastStr, _ = self.getFields(query)
 | 
				
			||||||
            for field in fieldsToCastStr.split(","):
 | 
					            for field in fieldsToCastStr.split(','):
 | 
				
			||||||
                query = query.replace(field, self.nullAndCastField(field))
 | 
					                query = query.replace(field, self.nullAndCastField(field))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if kb.tamperFunctions:
 | 
					        if kb.tamperFunctions:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1002,7 +1002,7 @@ def readInput(message, default=None, checkBatch=True, boolean=False):
 | 
				
			||||||
    if retVal is None:
 | 
					    if retVal is None:
 | 
				
			||||||
        if checkBatch and conf.get("batch"):
 | 
					        if checkBatch and conf.get("batch"):
 | 
				
			||||||
            if isListLike(default):
 | 
					            if isListLike(default):
 | 
				
			||||||
                options = ",".join(getUnicode(opt, UNICODE_ENCODING) for opt in default)
 | 
					                options = ','.join(getUnicode(opt, UNICODE_ENCODING) for opt in default)
 | 
				
			||||||
            elif default:
 | 
					            elif default:
 | 
				
			||||||
                options = getUnicode(default, UNICODE_ENCODING)
 | 
					                options = getUnicode(default, UNICODE_ENCODING)
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -8,7 +8,7 @@ See the file 'doc/COPYING' for copying permission
 | 
				
			||||||
from lib.core.datatype import AttribDict
 | 
					from lib.core.datatype import AttribDict
 | 
				
			||||||
 | 
					
 | 
				
			||||||
_defaults = {
 | 
					_defaults = {
 | 
				
			||||||
   "csvDel":       ",",
 | 
					   "csvDel":       ',',
 | 
				
			||||||
   "timeSec":      5,
 | 
					   "timeSec":      5,
 | 
				
			||||||
   "googlePage":   1,
 | 
					   "googlePage":   1,
 | 
				
			||||||
   "verbose":      1,
 | 
					   "verbose":      1,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1766,13 +1766,13 @@ def _cleanupOptions():
 | 
				
			||||||
        conf.torType = conf.torType.upper()
 | 
					        conf.torType = conf.torType.upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if conf.col:
 | 
					    if conf.col:
 | 
				
			||||||
        conf.col = re.sub(r"\s*,\s*", ",", conf.col)
 | 
					        conf.col = re.sub(r"\s*,\s*", ',', conf.col)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if conf.excludeCol:
 | 
					    if conf.excludeCol:
 | 
				
			||||||
        conf.excludeCol = re.sub(r"\s*,\s*", ",", conf.excludeCol)
 | 
					        conf.excludeCol = re.sub(r"\s*,\s*", ',', conf.excludeCol)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if conf.binaryFields:
 | 
					    if conf.binaryFields:
 | 
				
			||||||
        conf.binaryFields = re.sub(r"\s*,\s*", ",", conf.binaryFields)
 | 
					        conf.binaryFields = re.sub(r"\s*,\s*", ',', conf.binaryFields)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if any((conf.proxy, conf.proxyFile, conf.tor)):
 | 
					    if any((conf.proxy, conf.proxyFile, conf.tor)):
 | 
				
			||||||
        conf.disablePrecon = True
 | 
					        conf.disablePrecon = True
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,7 +19,7 @@ from lib.core.enums import DBMS_DIRECTORY_NAME
 | 
				
			||||||
from lib.core.enums import OS
 | 
					from lib.core.enums import OS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
 | 
					# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
 | 
				
			||||||
VERSION = "1.1.4.32"
 | 
					VERSION = "1.1.4.33"
 | 
				
			||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
 | 
					TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
 | 
				
			||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
 | 
					TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
 | 
				
			||||||
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
 | 
					VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -378,7 +378,7 @@ def unionUse(expression, unpack=True, dump=False):
 | 
				
			||||||
                                    del threadData.shared.buffered[0]
 | 
					                                    del threadData.shared.buffered[0]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                            if conf.verbose == 1 and not (threadData.resumed and kb.suppressResumeInfo) and not threadData.shared.showEta:
 | 
					                            if conf.verbose == 1 and not (threadData.resumed and kb.suppressResumeInfo) and not threadData.shared.showEta:
 | 
				
			||||||
                                _ = ",".join("\"%s\"" % _ for _ in flattenValue(arrayizeValue(items))) if not isinstance(items, basestring) else items
 | 
					                                _ = ','.join("\"%s\"" % _ for _ in flattenValue(arrayizeValue(items))) if not isinstance(items, basestring) else items
 | 
				
			||||||
                                status = "[%s] [INFO] %s: %s" % (time.strftime("%X"), "resumed" if threadData.resumed else "retrieved", _ if kb.safeCharEncode else safecharencode(_))
 | 
					                                status = "[%s] [INFO] %s: %s" % (time.strftime("%X"), "resumed" if threadData.resumed else "retrieved", _ if kb.safeCharEncode else safecharencode(_))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                if len(status) > width:
 | 
					                                if len(status) > width:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -65,7 +65,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            conf.db = self.getCurrentDb()
 | 
					            conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.db:
 | 
					        if conf.db:
 | 
				
			||||||
            dbs = conf.db.split(",")
 | 
					            dbs = conf.db.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            dbs = self.getDbs()
 | 
					            dbs = self.getDbs()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -116,7 +116,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
        conf.db = safeSQLIdentificatorNaming(conf.db)
 | 
					        conf.db = safeSQLIdentificatorNaming(conf.db)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.col:
 | 
					        if conf.col:
 | 
				
			||||||
            colList = conf.col.split(",")
 | 
					            colList = conf.col.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            colList = []
 | 
					            colList = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -127,7 +127,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
 | 
					            colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.tbl:
 | 
					        if conf.tbl:
 | 
				
			||||||
            tblList = conf.tbl.split(",")
 | 
					            tblList = conf.tbl.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.getTables()
 | 
					            self.getTables()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -75,7 +75,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            conf.db = self.getCurrentDb()
 | 
					            conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.db:
 | 
					        if conf.db:
 | 
				
			||||||
            dbs = conf.db.split(",")
 | 
					            dbs = conf.db.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            dbs = self.getDbs()
 | 
					            dbs = self.getDbs()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -163,7 +163,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def searchTable(self):
 | 
					    def searchTable(self):
 | 
				
			||||||
        foundTbls = {}
 | 
					        foundTbls = {}
 | 
				
			||||||
        tblList = conf.tbl.split(",")
 | 
					        tblList = conf.tbl.split(',')
 | 
				
			||||||
        rootQuery = queries[DBMS.MSSQL].search_table
 | 
					        rootQuery = queries[DBMS.MSSQL].search_table
 | 
				
			||||||
        tblCond = rootQuery.inband.condition
 | 
					        tblCond = rootQuery.inband.condition
 | 
				
			||||||
        tblConsider, tblCondParam = self.likeOrExact("table")
 | 
					        tblConsider, tblCondParam = self.likeOrExact("table")
 | 
				
			||||||
| 
						 | 
					@ -172,7 +172,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            conf.db = self.getCurrentDb()
 | 
					            conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.db:
 | 
					        if conf.db:
 | 
				
			||||||
            enumDbs = conf.db.split(",")
 | 
					            enumDbs = conf.db.split(',')
 | 
				
			||||||
        elif not len(kb.data.cachedDbs):
 | 
					        elif not len(kb.data.cachedDbs):
 | 
				
			||||||
            enumDbs = self.getDbs()
 | 
					            enumDbs = self.getDbs()
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
| 
						 | 
					@ -269,7 +269,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
        whereTblsQuery = ""
 | 
					        whereTblsQuery = ""
 | 
				
			||||||
        infoMsgTbl = ""
 | 
					        infoMsgTbl = ""
 | 
				
			||||||
        infoMsgDb = ""
 | 
					        infoMsgDb = ""
 | 
				
			||||||
        colList = conf.col.split(",")
 | 
					        colList = conf.col.split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.excludeCol:
 | 
					        if conf.excludeCol:
 | 
				
			||||||
            colList = [_ for _ in colList if _ not in conf.excludeCol.split(',')]
 | 
					            colList = [_ for _ in colList if _ not in conf.excludeCol.split(',')]
 | 
				
			||||||
| 
						 | 
					@ -284,7 +284,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            conf.db = self.getCurrentDb()
 | 
					            conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.db:
 | 
					        if conf.db:
 | 
				
			||||||
            enumDbs = conf.db.split(",")
 | 
					            enumDbs = conf.db.split(',')
 | 
				
			||||||
        elif not len(kb.data.cachedDbs):
 | 
					        elif not len(kb.data.cachedDbs):
 | 
				
			||||||
            enumDbs = self.getDbs()
 | 
					            enumDbs = self.getDbs()
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
| 
						 | 
					@ -307,7 +307,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            foundCols[column] = {}
 | 
					            foundCols[column] = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if conf.tbl:
 | 
					            if conf.tbl:
 | 
				
			||||||
                _ = conf.tbl.split(",")
 | 
					                _ = conf.tbl.split(',')
 | 
				
			||||||
                whereTblsQuery = " AND (" + " OR ".join("%s = '%s'" % (tblCond, unsafeSQLIdentificatorNaming(tbl)) for tbl in _) + ")"
 | 
					                whereTblsQuery = " AND (" + " OR ".join("%s = '%s'" % (tblCond, unsafeSQLIdentificatorNaming(tbl)) for tbl in _) + ")"
 | 
				
			||||||
                infoMsgTbl = " for table%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(tbl for tbl in _))
 | 
					                infoMsgTbl = " for table%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(tbl for tbl in _))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -315,7 +315,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
                conf.db = self.getCurrentDb()
 | 
					                conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if conf.db:
 | 
					            if conf.db:
 | 
				
			||||||
                _ = conf.db.split(",")
 | 
					                _ = conf.db.split(',')
 | 
				
			||||||
                infoMsgDb = " in database%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(db for db in _))
 | 
					                infoMsgDb = " in database%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(db for db in _))
 | 
				
			||||||
            elif conf.excludeSysDbs:
 | 
					            elif conf.excludeSysDbs:
 | 
				
			||||||
                msg = "skipping system database%s '%s'" % ("s" if len(self.excludeDbsList) > 1 else "", ", ".join(db for db in self.excludeDbsList))
 | 
					                msg = "skipping system database%s '%s'" % ("s" if len(self.excludeDbsList) > 1 else "", ", ".join(db for db in self.excludeDbsList))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -50,7 +50,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
                condition = rootQuery.inband.condition
 | 
					                condition = rootQuery.inband.condition
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if conf.user:
 | 
					            if conf.user:
 | 
				
			||||||
                users = conf.user.split(",")
 | 
					                users = conf.user.split(',')
 | 
				
			||||||
                query += " WHERE "
 | 
					                query += " WHERE "
 | 
				
			||||||
                query += " OR ".join("%s = '%s'" % (condition, user) for user in sorted(users))
 | 
					                query += " OR ".join("%s = '%s'" % (condition, user) for user in sorted(users))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,7 +86,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not kb.data.cachedUsersRoles and isInferenceAvailable() and not conf.direct:
 | 
					        if not kb.data.cachedUsersRoles and isInferenceAvailable() and not conf.direct:
 | 
				
			||||||
            if conf.user:
 | 
					            if conf.user:
 | 
				
			||||||
                users = conf.user.split(",")
 | 
					                users = conf.user.split(',')
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                if not len(kb.data.cachedUsers):
 | 
					                if not len(kb.data.cachedUsers):
 | 
				
			||||||
                    users = self.getUsers()
 | 
					                    users = self.getUsers()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -124,7 +124,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            conf.db = self.getCurrentDb()
 | 
					            conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.db:
 | 
					        if conf.db:
 | 
				
			||||||
            dbs = conf.db.split(",")
 | 
					            dbs = conf.db.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            dbs = self.getDbs()
 | 
					            dbs = self.getDbs()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -184,7 +184,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
        conf.db = safeSQLIdentificatorNaming(conf.db)
 | 
					        conf.db = safeSQLIdentificatorNaming(conf.db)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.col:
 | 
					        if conf.col:
 | 
				
			||||||
            colList = conf.col.split(",")
 | 
					            colList = conf.col.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            colList = []
 | 
					            colList = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -195,7 +195,7 @@ class Enumeration(GenericEnumeration):
 | 
				
			||||||
            colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
 | 
					            colList[colList.index(col)] = safeSQLIdentificatorNaming(col)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.tbl:
 | 
					        if conf.tbl:
 | 
				
			||||||
            tblList = conf.tbl.split(",")
 | 
					            tblList = conf.tbl.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.getTables()
 | 
					            self.getTables()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -215,7 +215,7 @@ class Databases:
 | 
				
			||||||
            conf.db = conf.db.upper()
 | 
					            conf.db = conf.db.upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.db:
 | 
					        if conf.db:
 | 
				
			||||||
            dbs = conf.db.split(",")
 | 
					            dbs = conf.db.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            dbs = self.getDbs()
 | 
					            dbs = self.getDbs()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -269,9 +269,9 @@ class Databases:
 | 
				
			||||||
                    if conf.excludeSysDbs:
 | 
					                    if conf.excludeSysDbs:
 | 
				
			||||||
                        infoMsg = "skipping system database%s '%s'" % ("s" if len(self.excludeDbsList) > 1 else "", ", ".join(unsafeSQLIdentificatorNaming(db) for db in self.excludeDbsList))
 | 
					                        infoMsg = "skipping system database%s '%s'" % ("s" if len(self.excludeDbsList) > 1 else "", ", ".join(unsafeSQLIdentificatorNaming(db) for db in self.excludeDbsList))
 | 
				
			||||||
                        logger.info(infoMsg)
 | 
					                        logger.info(infoMsg)
 | 
				
			||||||
                        query += " IN (%s)" % ",".join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs) if db not in self.excludeDbsList)
 | 
					                        query += " IN (%s)" % ','.join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs) if db not in self.excludeDbsList)
 | 
				
			||||||
                    else:
 | 
					                    else:
 | 
				
			||||||
                        query += " IN (%s)" % ",".join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs))
 | 
					                        query += " IN (%s)" % ','.join("'%s'" % unsafeSQLIdentificatorNaming(db) for db in sorted(dbs))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if len(dbs) < 2 and ("%s," % condition) in query:
 | 
					                if len(dbs) < 2 and ("%s," % condition) in query:
 | 
				
			||||||
                    query = query.replace("%s," % condition, "", 1)
 | 
					                    query = query.replace("%s," % condition, "", 1)
 | 
				
			||||||
| 
						 | 
					@ -422,7 +422,7 @@ class Databases:
 | 
				
			||||||
            if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.HSQLDB):
 | 
					            if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.HSQLDB):
 | 
				
			||||||
                conf.tbl = conf.tbl.upper()
 | 
					                conf.tbl = conf.tbl.upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            tblList = conf.tbl.split(",")
 | 
					            tblList = conf.tbl.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.getTables()
 | 
					            self.getTables()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -883,7 +883,7 @@ class Databases:
 | 
				
			||||||
        self.forceDbmsEnum()
 | 
					        self.forceDbmsEnum()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.tbl:
 | 
					        if conf.tbl:
 | 
				
			||||||
            for table in conf.tbl.split(","):
 | 
					            for table in conf.tbl.split(','):
 | 
				
			||||||
                self._tableGetCount(conf.db, table)
 | 
					                self._tableGetCount(conf.db, table)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.getTables()
 | 
					            self.getTables()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ class Entries:
 | 
				
			||||||
            if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.HSQLDB):
 | 
					            if Backend.getIdentifiedDbms() in (DBMS.ORACLE, DBMS.DB2, DBMS.HSQLDB):
 | 
				
			||||||
                conf.tbl = conf.tbl.upper()
 | 
					                conf.tbl = conf.tbl.upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            tblList = conf.tbl.split(",")
 | 
					            tblList = conf.tbl.split(',')
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            self.getTables()
 | 
					            self.getTables()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -441,7 +441,7 @@ class Entries:
 | 
				
			||||||
        elif choice in ('q', 'Q'):
 | 
					        elif choice in ('q', 'Q'):
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            dumpFromDbs = choice.replace(" ", "").split(",")
 | 
					            dumpFromDbs = choice.replace(" ", "").split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for db, tblData in dbs.items():
 | 
					        for db, tblData in dbs.items():
 | 
				
			||||||
            if db not in dumpFromDbs or not tblData:
 | 
					            if db not in dumpFromDbs or not tblData:
 | 
				
			||||||
| 
						 | 
					@ -466,7 +466,7 @@ class Entries:
 | 
				
			||||||
            elif choice in ('q', 'Q'):
 | 
					            elif choice in ('q', 'Q'):
 | 
				
			||||||
                return
 | 
					                return
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                dumpFromTbls = choice.replace(" ", "").split(",")
 | 
					                dumpFromTbls = choice.replace(" ", "").split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            for table, columns in tblData.items():
 | 
					            for table, columns in tblData.items():
 | 
				
			||||||
                if table not in dumpFromTbls:
 | 
					                if table not in dumpFromTbls:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -204,7 +204,7 @@ class Filesystem:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.checkDbmsOs()
 | 
					        self.checkDbmsOs()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for remoteFile in remoteFiles.split(","):
 | 
					        for remoteFile in remoteFiles.split(','):
 | 
				
			||||||
            fileContent = None
 | 
					            fileContent = None
 | 
				
			||||||
            kb.fileReadMode = True
 | 
					            kb.fileReadMode = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,7 +101,7 @@ class Miscellaneous:
 | 
				
			||||||
            query = "SELECT %s" % query
 | 
					            query = "SELECT %s" % query
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        kb.bannerFp["dbmsVersion"] = unArrayizeValue(inject.getValue(query))
 | 
					        kb.bannerFp["dbmsVersion"] = unArrayizeValue(inject.getValue(query))
 | 
				
			||||||
        kb.bannerFp["dbmsVersion"] = (kb.bannerFp["dbmsVersion"] or "").replace(",", "").replace("-", "").replace(" ", "")
 | 
					        kb.bannerFp["dbmsVersion"] = (kb.bannerFp["dbmsVersion"] or "").replace(',', "").replace('-', "").replace(' ', "")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def delRemoteFile(self, filename):
 | 
					    def delRemoteFile(self, filename):
 | 
				
			||||||
        if not filename:
 | 
					        if not filename:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -47,7 +47,7 @@ class Search:
 | 
				
			||||||
    def searchDb(self):
 | 
					    def searchDb(self):
 | 
				
			||||||
        foundDbs = []
 | 
					        foundDbs = []
 | 
				
			||||||
        rootQuery = queries[Backend.getIdentifiedDbms()].search_db
 | 
					        rootQuery = queries[Backend.getIdentifiedDbms()].search_db
 | 
				
			||||||
        dbList = conf.db.split(",")
 | 
					        dbList = conf.db.split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if Backend.isDbms(DBMS.MYSQL) and not kb.data.has_information_schema:
 | 
					        if Backend.isDbms(DBMS.MYSQL) and not kb.data.has_information_schema:
 | 
				
			||||||
            dbCond = rootQuery.inband.condition2
 | 
					            dbCond = rootQuery.inband.condition2
 | 
				
			||||||
| 
						 | 
					@ -149,7 +149,7 @@ class Search:
 | 
				
			||||||
            choice = readInput(message, default='Y' if 'Y' in message else 'N').strip().upper()
 | 
					            choice = readInput(message, default='Y' if 'Y' in message else 'N').strip().upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if choice == 'N':
 | 
					            if choice == 'N':
 | 
				
			||||||
                pass
 | 
					                return
 | 
				
			||||||
            elif choice == 'Q':
 | 
					            elif choice == 'Q':
 | 
				
			||||||
                raise SqlmapUserQuitException
 | 
					                raise SqlmapUserQuitException
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
| 
						 | 
					@ -179,7 +179,7 @@ class Search:
 | 
				
			||||||
                conf.db = self.getCurrentDb()
 | 
					                conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if dbCond and conf.db:
 | 
					            if dbCond and conf.db:
 | 
				
			||||||
                _ = conf.db.split(",")
 | 
					                _ = conf.db.split(',')
 | 
				
			||||||
                whereDbsQuery = " AND (" + " OR ".join("%s = '%s'" % (dbCond, unsafeSQLIdentificatorNaming(db)) for db in _) + ")"
 | 
					                whereDbsQuery = " AND (" + " OR ".join("%s = '%s'" % (dbCond, unsafeSQLIdentificatorNaming(db)) for db in _) + ")"
 | 
				
			||||||
                infoMsg += " for database%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(db for db in _))
 | 
					                infoMsg += " for database%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(db for db in _))
 | 
				
			||||||
            elif conf.excludeSysDbs:
 | 
					            elif conf.excludeSysDbs:
 | 
				
			||||||
| 
						 | 
					@ -264,7 +264,7 @@ class Search:
 | 
				
			||||||
                        if tblConsider == "2":
 | 
					                        if tblConsider == "2":
 | 
				
			||||||
                            continue
 | 
					                            continue
 | 
				
			||||||
                    else:
 | 
					                    else:
 | 
				
			||||||
                        for db in conf.db.split(",") if conf.db else (self.getCurrentDb(),):
 | 
					                        for db in conf.db.split(',') if conf.db else (self.getCurrentDb(),):
 | 
				
			||||||
                            db = safeSQLIdentificatorNaming(db)
 | 
					                            db = safeSQLIdentificatorNaming(db)
 | 
				
			||||||
                            if db not in foundTbls:
 | 
					                            if db not in foundTbls:
 | 
				
			||||||
                                foundTbls[db] = []
 | 
					                                foundTbls[db] = []
 | 
				
			||||||
| 
						 | 
					@ -369,7 +369,7 @@ class Search:
 | 
				
			||||||
        whereTblsQuery = ""
 | 
					        whereTblsQuery = ""
 | 
				
			||||||
        infoMsgTbl = ""
 | 
					        infoMsgTbl = ""
 | 
				
			||||||
        infoMsgDb = ""
 | 
					        infoMsgDb = ""
 | 
				
			||||||
        colList = conf.col.split(",")
 | 
					        colList = conf.col.split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.excludeCol:
 | 
					        if conf.excludeCol:
 | 
				
			||||||
            colList = [_ for _ in colList if _ not in conf.excludeCol.split(',')]
 | 
					            colList = [_ for _ in colList if _ not in conf.excludeCol.split(',')]
 | 
				
			||||||
| 
						 | 
					@ -398,7 +398,7 @@ class Search:
 | 
				
			||||||
            foundCols[column] = {}
 | 
					            foundCols[column] = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if conf.tbl:
 | 
					            if conf.tbl:
 | 
				
			||||||
                _ = conf.tbl.split(",")
 | 
					                _ = conf.tbl.split(',')
 | 
				
			||||||
                whereTblsQuery = " AND (" + " OR ".join("%s = '%s'" % (tblCond, unsafeSQLIdentificatorNaming(tbl)) for tbl in _) + ")"
 | 
					                whereTblsQuery = " AND (" + " OR ".join("%s = '%s'" % (tblCond, unsafeSQLIdentificatorNaming(tbl)) for tbl in _) + ")"
 | 
				
			||||||
                infoMsgTbl = " for table%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(unsafeSQLIdentificatorNaming(tbl) for tbl in _))
 | 
					                infoMsgTbl = " for table%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(unsafeSQLIdentificatorNaming(tbl) for tbl in _))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -406,7 +406,7 @@ class Search:
 | 
				
			||||||
                conf.db = self.getCurrentDb()
 | 
					                conf.db = self.getCurrentDb()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if conf.db:
 | 
					            if conf.db:
 | 
				
			||||||
                _ = conf.db.split(",")
 | 
					                _ = conf.db.split(',')
 | 
				
			||||||
                whereDbsQuery = " AND (" + " OR ".join("%s = '%s'" % (dbCond, unsafeSQLIdentificatorNaming(db)) for db in _) + ")"
 | 
					                whereDbsQuery = " AND (" + " OR ".join("%s = '%s'" % (dbCond, unsafeSQLIdentificatorNaming(db)) for db in _) + ")"
 | 
				
			||||||
                infoMsgDb = " in database%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(unsafeSQLIdentificatorNaming(db) for db in _))
 | 
					                infoMsgDb = " in database%s '%s'" % ("s" if len(_) > 1 else "", ", ".join(unsafeSQLIdentificatorNaming(db) for db in _))
 | 
				
			||||||
            elif conf.excludeSysDbs:
 | 
					            elif conf.excludeSysDbs:
 | 
				
			||||||
| 
						 | 
					@ -433,13 +433,13 @@ class Search:
 | 
				
			||||||
                    # column(s) provided
 | 
					                    # column(s) provided
 | 
				
			||||||
                    values = []
 | 
					                    values = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    for db in conf.db.split(","):
 | 
					                    for db in conf.db.split(','):
 | 
				
			||||||
                        for tbl in conf.tbl.split(","):
 | 
					                        for tbl in conf.tbl.split(','):
 | 
				
			||||||
                            values.append([safeSQLIdentificatorNaming(db), safeSQLIdentificatorNaming(tbl, True)])
 | 
					                            values.append([safeSQLIdentificatorNaming(db), safeSQLIdentificatorNaming(tbl, True)])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                for db, tbl in filterPairValues(values):
 | 
					                for db, tbl in filterPairValues(values):
 | 
				
			||||||
                    db = safeSQLIdentificatorNaming(db)
 | 
					                    db = safeSQLIdentificatorNaming(db)
 | 
				
			||||||
                    tbls = tbl.split(",") if not isNoneValue(tbl) else []
 | 
					                    tbls = tbl.split(',') if not isNoneValue(tbl) else []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    for tbl in tbls:
 | 
					                    for tbl in tbls:
 | 
				
			||||||
                        tbl = safeSQLIdentificatorNaming(tbl, True)
 | 
					                        tbl = safeSQLIdentificatorNaming(tbl, True)
 | 
				
			||||||
| 
						 | 
					@ -506,7 +506,7 @@ class Search:
 | 
				
			||||||
                        if db not in foundCols[column]:
 | 
					                        if db not in foundCols[column]:
 | 
				
			||||||
                            foundCols[column][db] = []
 | 
					                            foundCols[column][db] = []
 | 
				
			||||||
                else:
 | 
					                else:
 | 
				
			||||||
                    for db in conf.db.split(",") if conf.db else (self.getCurrentDb(),):
 | 
					                    for db in conf.db.split(',') if conf.db else (self.getCurrentDb(),):
 | 
				
			||||||
                        db = safeSQLIdentificatorNaming(db)
 | 
					                        db = safeSQLIdentificatorNaming(db)
 | 
				
			||||||
                        if db not in foundCols[column]:
 | 
					                        if db not in foundCols[column]:
 | 
				
			||||||
                            foundCols[column][db] = []
 | 
					                            foundCols[column][db] = []
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -161,7 +161,7 @@ class Users:
 | 
				
			||||||
            conf.user = conf.user.upper()
 | 
					            conf.user = conf.user.upper()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if conf.user:
 | 
					        if conf.user:
 | 
				
			||||||
            users = conf.user.split(",")
 | 
					            users = conf.user.split(',')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if Backend.isDbms(DBMS.MYSQL):
 | 
					            if Backend.isDbms(DBMS.MYSQL):
 | 
				
			||||||
                for user in users:
 | 
					                for user in users:
 | 
				
			||||||
| 
						 | 
					@ -429,7 +429,7 @@ class Users:
 | 
				
			||||||
                            # In DB2 we get Y or G if the privilege is
 | 
					                            # In DB2 we get Y or G if the privilege is
 | 
				
			||||||
                            # True, N otherwise
 | 
					                            # True, N otherwise
 | 
				
			||||||
                            elif Backend.isDbms(DBMS.DB2):
 | 
					                            elif Backend.isDbms(DBMS.DB2):
 | 
				
			||||||
                                privs = privilege.split(",")
 | 
					                                privs = privilege.split(',')
 | 
				
			||||||
                                privilege = privs[0]
 | 
					                                privilege = privs[0]
 | 
				
			||||||
                                if len(privs) > 1:
 | 
					                                if len(privs) > 1:
 | 
				
			||||||
                                    privs = privs[1]
 | 
					                                    privs = privs[1]
 | 
				
			||||||
| 
						 | 
					@ -537,8 +537,8 @@ class Users:
 | 
				
			||||||
                    # In PostgreSQL we get 1 if the privilege is True,
 | 
					                    # In PostgreSQL we get 1 if the privilege is True,
 | 
				
			||||||
                    # 0 otherwise
 | 
					                    # 0 otherwise
 | 
				
			||||||
                    if Backend.isDbms(DBMS.PGSQL) and ", " in privilege:
 | 
					                    if Backend.isDbms(DBMS.PGSQL) and ", " in privilege:
 | 
				
			||||||
                        privilege = privilege.replace(", ", ",")
 | 
					                        privilege = privilege.replace(", ", ',')
 | 
				
			||||||
                        privs = privilege.split(",")
 | 
					                        privs = privilege.split(',')
 | 
				
			||||||
                        i = 1
 | 
					                        i = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        for priv in privs:
 | 
					                        for priv in privs:
 | 
				
			||||||
| 
						 | 
					@ -557,12 +557,12 @@ class Users:
 | 
				
			||||||
                    # In MySQL < 5.0 we get Y if the privilege is
 | 
					                    # In MySQL < 5.0 we get Y if the privilege is
 | 
				
			||||||
                    # True, N otherwise
 | 
					                    # True, N otherwise
 | 
				
			||||||
                    elif Backend.isDbms(DBMS.MYSQL) and not kb.data.has_information_schema:
 | 
					                    elif Backend.isDbms(DBMS.MYSQL) and not kb.data.has_information_schema:
 | 
				
			||||||
                        privilege = privilege.replace(", ", ",")
 | 
					                        privilege = privilege.replace(", ", ',')
 | 
				
			||||||
                        privs = privilege.split(",")
 | 
					                        privs = privilege.split(',')
 | 
				
			||||||
                        i = 1
 | 
					                        i = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        for priv in privs:
 | 
					                        for priv in privs:
 | 
				
			||||||
                            if priv.upper() == "Y":
 | 
					                            if priv.upper() == 'Y':
 | 
				
			||||||
                                for position, mysqlPriv in MYSQL_PRIVS.items():
 | 
					                                for position, mysqlPriv in MYSQL_PRIVS.items():
 | 
				
			||||||
                                    if position == i:
 | 
					                                    if position == i:
 | 
				
			||||||
                                        privileges.add(mysqlPriv)
 | 
					                                        privileges.add(mysqlPriv)
 | 
				
			||||||
| 
						 | 
					@ -580,14 +580,14 @@ class Users:
 | 
				
			||||||
                    # In DB2 we get Y or G if the privilege is
 | 
					                    # In DB2 we get Y or G if the privilege is
 | 
				
			||||||
                    # True, N otherwise
 | 
					                    # True, N otherwise
 | 
				
			||||||
                    elif Backend.isDbms(DBMS.DB2):
 | 
					                    elif Backend.isDbms(DBMS.DB2):
 | 
				
			||||||
                        privs = privilege.split(",")
 | 
					                        privs = privilege.split(',')
 | 
				
			||||||
                        privilege = privs[0]
 | 
					                        privilege = privs[0]
 | 
				
			||||||
                        privs = privs[1]
 | 
					                        privs = privs[1]
 | 
				
			||||||
                        privs = list(privs.strip())
 | 
					                        privs = list(privs.strip())
 | 
				
			||||||
                        i = 1
 | 
					                        i = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        for priv in privs:
 | 
					                        for priv in privs:
 | 
				
			||||||
                            if priv.upper() in ("Y", "G"):
 | 
					                            if priv.upper() in ('Y', 'G'):
 | 
				
			||||||
                                for position, db2Priv in DB2_PRIVS.items():
 | 
					                                for position, db2Priv in DB2_PRIVS.items():
 | 
				
			||||||
                                    if position == i:
 | 
					                                    if position == i:
 | 
				
			||||||
                                        privilege += ", " + db2Priv
 | 
					                                        privilege += ", " + db2Priv
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,7 +17,7 @@ d229479d02d21b29f209143cb0547780  extra/shellcodeexec/linux/shellcodeexec.x32_
 | 
				
			||||||
c55b400b72acc43e0e59c87dd8bb8d75  extra/shellcodeexec/windows/shellcodeexec.x32.exe_
 | 
					c55b400b72acc43e0e59c87dd8bb8d75  extra/shellcodeexec/windows/shellcodeexec.x32.exe_
 | 
				
			||||||
3c07d5ecd7208748892c0459f6ca084a  extra/shutils/duplicates.py
 | 
					3c07d5ecd7208748892c0459f6ca084a  extra/shutils/duplicates.py
 | 
				
			||||||
8cd064eea3506e5dd913e03171bc418f  extra/shutils/pylint.py
 | 
					8cd064eea3506e5dd913e03171bc418f  extra/shutils/pylint.py
 | 
				
			||||||
07afd64e65926bba66cee5ca092ac7d9  extra/shutils/regressiontest.py
 | 
					2b2aeec7b63d7e3b75940111b94db7b6  extra/shutils/regressiontest.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  extra/sqlharvest/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  extra/sqlharvest/__init__.py
 | 
				
			||||||
7713aa366c983cdf1f3dbaa7383ea9e1  extra/sqlharvest/sqlharvest.py
 | 
					7713aa366c983cdf1f3dbaa7383ea9e1  extra/sqlharvest/sqlharvest.py
 | 
				
			||||||
7afe836fd97271ccba67b4c0da2482ff  lib/controller/action.py
 | 
					7afe836fd97271ccba67b4c0da2482ff  lib/controller/action.py
 | 
				
			||||||
| 
						 | 
					@ -25,14 +25,14 @@ c55b400b72acc43e0e59c87dd8bb8d75  extra/shellcodeexec/windows/shellcodeexec.x32.
 | 
				
			||||||
fc89abe14a48b8232feba692bde992be  lib/controller/controller.py
 | 
					fc89abe14a48b8232feba692bde992be  lib/controller/controller.py
 | 
				
			||||||
52a3969f57170e935e3fc0156335bf2c  lib/controller/handler.py
 | 
					52a3969f57170e935e3fc0156335bf2c  lib/controller/handler.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  lib/controller/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  lib/controller/__init__.py
 | 
				
			||||||
5c4cddb0016d02a57bd1b05b3fc60c54  lib/core/agent.py
 | 
					d3b4e1139bf117fe4cf6451d43d8253c  lib/core/agent.py
 | 
				
			||||||
6cc95a117fbd34ef31b9aa25520f0e31  lib/core/bigarray.py
 | 
					6cc95a117fbd34ef31b9aa25520f0e31  lib/core/bigarray.py
 | 
				
			||||||
96da6283da447e98a7592d6ee59b50dd  lib/core/common.py
 | 
					6d4efa61cbef2ff62ed457bc5c4708c3  lib/core/common.py
 | 
				
			||||||
5065a4242a8cccf72f91e22e1007ae63  lib/core/convert.py
 | 
					5065a4242a8cccf72f91e22e1007ae63  lib/core/convert.py
 | 
				
			||||||
a8143dab9d3a27490f7d49b6b29ea530  lib/core/data.py
 | 
					a8143dab9d3a27490f7d49b6b29ea530  lib/core/data.py
 | 
				
			||||||
7936d78b1a7f1f008ff92bf2f88574ba  lib/core/datatype.py
 | 
					7936d78b1a7f1f008ff92bf2f88574ba  lib/core/datatype.py
 | 
				
			||||||
36c85e9ef109c5b4af3ca9bb1065ef1f  lib/core/decorators.py
 | 
					36c85e9ef109c5b4af3ca9bb1065ef1f  lib/core/decorators.py
 | 
				
			||||||
47eecd5499eaa15e931793e1d1ac3566  lib/core/defaults.py
 | 
					94b06df2dfd9f6c7a2ad3f04a846b686  lib/core/defaults.py
 | 
				
			||||||
7309cf449b009723d1a4655fcf1a96d7  lib/core/dicts.py
 | 
					7309cf449b009723d1a4655fcf1a96d7  lib/core/dicts.py
 | 
				
			||||||
65b9187de3d8c9c28ddab53ef2b399bc  lib/core/dump.py
 | 
					65b9187de3d8c9c28ddab53ef2b399bc  lib/core/dump.py
 | 
				
			||||||
b9ff4e622c416116bee6024c0f050349  lib/core/enums.py
 | 
					b9ff4e622c416116bee6024c0f050349  lib/core/enums.py
 | 
				
			||||||
| 
						 | 
					@ -40,13 +40,13 @@ b9ff4e622c416116bee6024c0f050349  lib/core/enums.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  lib/core/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  lib/core/__init__.py
 | 
				
			||||||
9ba39bf66e9ecd469446bdbbeda906c3  lib/core/log.py
 | 
					9ba39bf66e9ecd469446bdbbeda906c3  lib/core/log.py
 | 
				
			||||||
ebb778c2d26eba8b34d7d8658e4105a6  lib/core/optiondict.py
 | 
					ebb778c2d26eba8b34d7d8658e4105a6  lib/core/optiondict.py
 | 
				
			||||||
abc734ff83c51edce23ef446b7ee9c4a  lib/core/option.py
 | 
					ede9841e7cbbe841f41588f149e85789  lib/core/option.py
 | 
				
			||||||
5f2f56e6c5f274408df61943f1e080c0  lib/core/profiling.py
 | 
					5f2f56e6c5f274408df61943f1e080c0  lib/core/profiling.py
 | 
				
			||||||
40be71cd774662a7b420caeb7051e7d5  lib/core/readlineng.py
 | 
					40be71cd774662a7b420caeb7051e7d5  lib/core/readlineng.py
 | 
				
			||||||
d8e9250f3775119df07e9070eddccd16  lib/core/replication.py
 | 
					d8e9250f3775119df07e9070eddccd16  lib/core/replication.py
 | 
				
			||||||
785f86e3f963fa3798f84286a4e83ff2  lib/core/revision.py
 | 
					785f86e3f963fa3798f84286a4e83ff2  lib/core/revision.py
 | 
				
			||||||
40c80b28b3a5819b737a5a17d4565ae9  lib/core/session.py
 | 
					40c80b28b3a5819b737a5a17d4565ae9  lib/core/session.py
 | 
				
			||||||
7dde58404c57c693f426a3466111f2eb  lib/core/settings.py
 | 
					a6219d0ee81bc23614150f81ccb6d8a0  lib/core/settings.py
 | 
				
			||||||
d91291997d2bd2f6028aaf371bf1d3b6  lib/core/shell.py
 | 
					d91291997d2bd2f6028aaf371bf1d3b6  lib/core/shell.py
 | 
				
			||||||
2ad85c130cc5f2b3701ea85c2f6bbf20  lib/core/subprocessng.py
 | 
					2ad85c130cc5f2b3701ea85c2f6bbf20  lib/core/subprocessng.py
 | 
				
			||||||
92e35ddfdf0e9676dd51565bcf4fa5cf  lib/core/target.py
 | 
					92e35ddfdf0e9676dd51565bcf4fa5cf  lib/core/target.py
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,7 @@ d3da4c7ceaf57c4687a052d58722f6bb  lib/techniques/dns/use.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  lib/techniques/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  lib/techniques/__init__.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  lib/techniques/union/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  lib/techniques/union/__init__.py
 | 
				
			||||||
211e6dc49af6ad6bd3590d16d41e86db  lib/techniques/union/test.py
 | 
					211e6dc49af6ad6bd3590d16d41e86db  lib/techniques/union/test.py
 | 
				
			||||||
c2bf28aab749b0de30bfdeea6d09449f  lib/techniques/union/use.py
 | 
					50d4de61ee0692d68bb87462bff37e15  lib/techniques/union/use.py
 | 
				
			||||||
67f0ad96ec2207d7e59c788b858afd6d  lib/utils/api.py
 | 
					67f0ad96ec2207d7e59c788b858afd6d  lib/utils/api.py
 | 
				
			||||||
600cbc772943f915b2d5ce6193fdff0b  lib/utils/brute.py
 | 
					600cbc772943f915b2d5ce6193fdff0b  lib/utils/brute.py
 | 
				
			||||||
2b6c7f906e5da25bcd8865c1f86a1dfb  lib/utils/crawler.py
 | 
					2b6c7f906e5da25bcd8865c1f86a1dfb  lib/utils/crawler.py
 | 
				
			||||||
| 
						 | 
					@ -152,14 +152,14 @@ f06d263b2c9b52ea7a120593eb5806c4  plugins/dbms/informix/fingerprint.py
 | 
				
			||||||
744fb5044f2b9f9d5ebda6e3f08e3be7  plugins/dbms/informix/takeover.py
 | 
					744fb5044f2b9f9d5ebda6e3f08e3be7  plugins/dbms/informix/takeover.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  plugins/dbms/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  plugins/dbms/__init__.py
 | 
				
			||||||
e50b624ff23c3e180d80e065deb1763f  plugins/dbms/maxdb/connector.py
 | 
					e50b624ff23c3e180d80e065deb1763f  plugins/dbms/maxdb/connector.py
 | 
				
			||||||
570ec8c20ef01d99bf23f42e32993b16  plugins/dbms/maxdb/enumeration.py
 | 
					d2d178a98a84a819c3bbb777f8dd0788  plugins/dbms/maxdb/enumeration.py
 | 
				
			||||||
815ea8e7b9bd714d73d9d6c454aff774  plugins/dbms/maxdb/filesystem.py
 | 
					815ea8e7b9bd714d73d9d6c454aff774  plugins/dbms/maxdb/filesystem.py
 | 
				
			||||||
017c723354eff28188773670d3837c01  plugins/dbms/maxdb/fingerprint.py
 | 
					017c723354eff28188773670d3837c01  plugins/dbms/maxdb/fingerprint.py
 | 
				
			||||||
c03001c1f70e76de39d26241dfcbd033  plugins/dbms/maxdb/__init__.py
 | 
					c03001c1f70e76de39d26241dfcbd033  plugins/dbms/maxdb/__init__.py
 | 
				
			||||||
e6036f5b2e39aec37ba036a8cf0efd6f  plugins/dbms/maxdb/syntax.py
 | 
					e6036f5b2e39aec37ba036a8cf0efd6f  plugins/dbms/maxdb/syntax.py
 | 
				
			||||||
0be362015605e26551e5d79cc83ed466  plugins/dbms/maxdb/takeover.py
 | 
					0be362015605e26551e5d79cc83ed466  plugins/dbms/maxdb/takeover.py
 | 
				
			||||||
e3e78fab9b5eb97867699f0b20e59b62  plugins/dbms/mssqlserver/connector.py
 | 
					e3e78fab9b5eb97867699f0b20e59b62  plugins/dbms/mssqlserver/connector.py
 | 
				
			||||||
16daf973fc7a988c3bf52435b759ff4e  plugins/dbms/mssqlserver/enumeration.py
 | 
					b8de437eaa3e05c3db666968b7d142e4  plugins/dbms/mssqlserver/enumeration.py
 | 
				
			||||||
5de6074ee2f7dc5b04b70307d36dbe1d  plugins/dbms/mssqlserver/filesystem.py
 | 
					5de6074ee2f7dc5b04b70307d36dbe1d  plugins/dbms/mssqlserver/filesystem.py
 | 
				
			||||||
13cb15e8abfb05818e6f66c687b78664  plugins/dbms/mssqlserver/fingerprint.py
 | 
					13cb15e8abfb05818e6f66c687b78664  plugins/dbms/mssqlserver/fingerprint.py
 | 
				
			||||||
40bd890988f9acd3942255d687445371  plugins/dbms/mssqlserver/__init__.py
 | 
					40bd890988f9acd3942255d687445371  plugins/dbms/mssqlserver/__init__.py
 | 
				
			||||||
| 
						 | 
					@ -173,7 +173,7 @@ e43fda42decf2a70bad470b884674fbe  plugins/dbms/mysql/fingerprint.py
 | 
				
			||||||
96dfafcc4aecc1c574148ac05dbdb6da  plugins/dbms/mysql/syntax.py
 | 
					96dfafcc4aecc1c574148ac05dbdb6da  plugins/dbms/mysql/syntax.py
 | 
				
			||||||
33b2dc28075ab560fd8a4dc898682a0d  plugins/dbms/mysql/takeover.py
 | 
					33b2dc28075ab560fd8a4dc898682a0d  plugins/dbms/mysql/takeover.py
 | 
				
			||||||
ea4b9cd238075b79945bd2607810934a  plugins/dbms/oracle/connector.py
 | 
					ea4b9cd238075b79945bd2607810934a  plugins/dbms/oracle/connector.py
 | 
				
			||||||
6b98e1e040f95ed0bccd257ca8f8b59a  plugins/dbms/oracle/enumeration.py
 | 
					73fc1502dff934f008e3e2590b2609e7  plugins/dbms/oracle/enumeration.py
 | 
				
			||||||
dc5962a1d4d69d4206b6c03e00e7f33d  plugins/dbms/oracle/filesystem.py
 | 
					dc5962a1d4d69d4206b6c03e00e7f33d  plugins/dbms/oracle/filesystem.py
 | 
				
			||||||
525381f48505095b14e567c1f59ca9c7  plugins/dbms/oracle/fingerprint.py
 | 
					525381f48505095b14e567c1f59ca9c7  plugins/dbms/oracle/fingerprint.py
 | 
				
			||||||
25a99a9dd7072b6b7346438599c78050  plugins/dbms/oracle/__init__.py
 | 
					25a99a9dd7072b6b7346438599c78050  plugins/dbms/oracle/__init__.py
 | 
				
			||||||
| 
						 | 
					@ -194,7 +194,7 @@ ee430d142fa8f9ee571578d0a0916679  plugins/dbms/sqlite/fingerprint.py
 | 
				
			||||||
4827722159a89652005f49265bb55c43  plugins/dbms/sqlite/syntax.py
 | 
					4827722159a89652005f49265bb55c43  plugins/dbms/sqlite/syntax.py
 | 
				
			||||||
02ab8ff465da9dd31ffe6a963c676180  plugins/dbms/sqlite/takeover.py
 | 
					02ab8ff465da9dd31ffe6a963c676180  plugins/dbms/sqlite/takeover.py
 | 
				
			||||||
e3e78fab9b5eb97867699f0b20e59b62  plugins/dbms/sybase/connector.py
 | 
					e3e78fab9b5eb97867699f0b20e59b62  plugins/dbms/sybase/connector.py
 | 
				
			||||||
6bb1c376160bb0955c1f800684c83ad2  plugins/dbms/sybase/enumeration.py
 | 
					a9d4bff10fdd2efedc4b35fd2b279eb8  plugins/dbms/sybase/enumeration.py
 | 
				
			||||||
62d772c7cd08275e3503304ba90c4e8a  plugins/dbms/sybase/filesystem.py
 | 
					62d772c7cd08275e3503304ba90c4e8a  plugins/dbms/sybase/filesystem.py
 | 
				
			||||||
deed74334b637767fc9de8f74b37647a  plugins/dbms/sybase/fingerprint.py
 | 
					deed74334b637767fc9de8f74b37647a  plugins/dbms/sybase/fingerprint.py
 | 
				
			||||||
45436a42c2bb8075e1482a950d993d55  plugins/dbms/sybase/__init__.py
 | 
					45436a42c2bb8075e1482a950d993d55  plugins/dbms/sybase/__init__.py
 | 
				
			||||||
| 
						 | 
					@ -202,17 +202,17 @@ deed74334b637767fc9de8f74b37647a  plugins/dbms/sybase/fingerprint.py
 | 
				
			||||||
654cd5e69cf5e5c644bfa5d284e61206  plugins/dbms/sybase/takeover.py
 | 
					654cd5e69cf5e5c644bfa5d284e61206  plugins/dbms/sybase/takeover.py
 | 
				
			||||||
be7481a96214220bcd8f51ca00239bed  plugins/generic/connector.py
 | 
					be7481a96214220bcd8f51ca00239bed  plugins/generic/connector.py
 | 
				
			||||||
5390591ca955036d492de11355b52e8f  plugins/generic/custom.py
 | 
					5390591ca955036d492de11355b52e8f  plugins/generic/custom.py
 | 
				
			||||||
49236f38b3117b6431c6a6fd35295493  plugins/generic/databases.py
 | 
					3d6a7dce69bf4df8e3d5790076ba2190  plugins/generic/databases.py
 | 
				
			||||||
2915f49246e393c038828a73925d153c  plugins/generic/entries.py
 | 
					5eae2e0992a719bfce9cf78ed0a0ea2f  plugins/generic/entries.py
 | 
				
			||||||
55802d1d5d65938414c77ccc27731cab  plugins/generic/enumeration.py
 | 
					55802d1d5d65938414c77ccc27731cab  plugins/generic/enumeration.py
 | 
				
			||||||
2acc2365955c0dd4cce67ab56d11baa5  plugins/generic/filesystem.py
 | 
					0d10a0410c416fece51c26a935e68568  plugins/generic/filesystem.py
 | 
				
			||||||
feca57a968c528a2fe3ccafbc83a17f8  plugins/generic/fingerprint.py
 | 
					feca57a968c528a2fe3ccafbc83a17f8  plugins/generic/fingerprint.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  plugins/generic/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  plugins/generic/__init__.py
 | 
				
			||||||
6f2d127df31ca068925f614edd1ec858  plugins/generic/misc.py
 | 
					84c16ffdf7047831355d1ecc09060e59  plugins/generic/misc.py
 | 
				
			||||||
5f4d46dbfae314cbd7c14ce8f424779d  plugins/generic/search.py
 | 
					7a0b472f3413c28d491a7b2c4bcfd063  plugins/generic/search.py
 | 
				
			||||||
562cfa80a15d5f7f1d52e10c5736d7e2  plugins/generic/syntax.py
 | 
					562cfa80a15d5f7f1d52e10c5736d7e2  plugins/generic/syntax.py
 | 
				
			||||||
3f520f49811197f24a3f223fc995028a  plugins/generic/takeover.py
 | 
					3f520f49811197f24a3f223fc995028a  plugins/generic/takeover.py
 | 
				
			||||||
ed88840a88e761c9815bec530a90aa95  plugins/generic/users.py
 | 
					ee2a108effa7737b18c3930a8b9edf5b  plugins/generic/users.py
 | 
				
			||||||
310efc965c862cfbd7b0da5150a5ad36  plugins/__init__.py
 | 
					310efc965c862cfbd7b0da5150a5ad36  plugins/__init__.py
 | 
				
			||||||
b04db3e861edde1f9dd0a3850d5b96c8  shell/backdoor.asp_
 | 
					b04db3e861edde1f9dd0a3850d5b96c8  shell/backdoor.asp_
 | 
				
			||||||
158bfa168128393dde8d6ed11fe9a1b8  shell/backdoor.aspx_
 | 
					158bfa168128393dde8d6ed11fe9a1b8  shell/backdoor.aspx_
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user