mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-22 09:36:35 +03:00
Junk removal (in preparing for py3)
This commit is contained in:
parent
7356293007
commit
b036fcc876
|
@ -1,8 +0,0 @@
|
||||||
#!/usr/bin/env python2
|
|
||||||
|
|
||||||
"""
|
|
||||||
Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
|
|
||||||
See the file 'LICENSE' for copying permission
|
|
||||||
"""
|
|
||||||
|
|
||||||
pass
|
|
|
@ -1,143 +0,0 @@
|
||||||
#!/usr/bin/env python2
|
|
||||||
|
|
||||||
"""
|
|
||||||
Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
|
|
||||||
See the file 'LICENSE' for copying permission
|
|
||||||
"""
|
|
||||||
|
|
||||||
from __future__ import print_function
|
|
||||||
|
|
||||||
import cookielib
|
|
||||||
import re
|
|
||||||
import socket
|
|
||||||
import sys
|
|
||||||
import urllib
|
|
||||||
import urllib2
|
|
||||||
import ConfigParser
|
|
||||||
|
|
||||||
from operator import itemgetter
|
|
||||||
|
|
||||||
TIMEOUT = 10
|
|
||||||
CONFIG_FILE = 'sqlharvest.cfg'
|
|
||||||
TABLES_FILE = 'tables.txt'
|
|
||||||
USER_AGENT = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; AskTB5.3)'
|
|
||||||
SEARCH_URL = 'http://www.google.com/m?source=mobileproducts&dc=gorganic'
|
|
||||||
MAX_FILE_SIZE = 2 * 1024 * 1024 # if a result (.sql) file for downloading is more than 2MB in size just skip it
|
|
||||||
QUERY = 'CREATE TABLE ext:sql'
|
|
||||||
REGEX_URLS = r';u=([^"]+?)&q='
|
|
||||||
REGEX_RESULT = r'(?i)CREATE TABLE\s*(/\*.*\*/)?\s*(IF NOT EXISTS)?\s*(?P<result>[^\(;]+)'
|
|
||||||
|
|
||||||
def main():
|
|
||||||
tables = dict()
|
|
||||||
cookies = cookielib.CookieJar()
|
|
||||||
cookie_processor = urllib2.HTTPCookieProcessor(cookies)
|
|
||||||
opener = urllib2.build_opener(cookie_processor)
|
|
||||||
opener.addheaders = [("User-Agent", USER_AGENT)]
|
|
||||||
|
|
||||||
conn = opener.open(SEARCH_URL)
|
|
||||||
page = conn.read() # set initial cookie values
|
|
||||||
|
|
||||||
config = ConfigParser.ConfigParser()
|
|
||||||
config.read(CONFIG_FILE)
|
|
||||||
|
|
||||||
if not config.has_section("options"):
|
|
||||||
config.add_section("options")
|
|
||||||
if not config.has_option("options", "index"):
|
|
||||||
config.set("options", "index", "0")
|
|
||||||
|
|
||||||
i = int(config.get("options", "index"))
|
|
||||||
|
|
||||||
try:
|
|
||||||
with open(TABLES_FILE, 'r') as f:
|
|
||||||
for line in f.xreadlines():
|
|
||||||
if len(line) > 0 and ',' in line:
|
|
||||||
temp = line.split(',')
|
|
||||||
tables[temp[0]] = int(temp[1])
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
socket.setdefaulttimeout(TIMEOUT)
|
|
||||||
|
|
||||||
files, old_files = None, None
|
|
||||||
try:
|
|
||||||
while True:
|
|
||||||
abort = False
|
|
||||||
old_files = files
|
|
||||||
files = []
|
|
||||||
|
|
||||||
try:
|
|
||||||
conn = opener.open("%s&q=%s&start=%d&sa=N" % (SEARCH_URL, QUERY.replace(' ', '+'), i * 10))
|
|
||||||
page = conn.read()
|
|
||||||
for match in re.finditer(REGEX_URLS, page):
|
|
||||||
files.append(urllib.unquote(match.group(1)))
|
|
||||||
if len(files) >= 10:
|
|
||||||
break
|
|
||||||
abort = (files == old_files)
|
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
raise
|
|
||||||
|
|
||||||
except Exception as ex:
|
|
||||||
print(ex)
|
|
||||||
|
|
||||||
if abort:
|
|
||||||
break
|
|
||||||
|
|
||||||
sys.stdout.write("\n---------------\n")
|
|
||||||
sys.stdout.write("Result page #%d\n" % (i + 1))
|
|
||||||
sys.stdout.write("---------------\n")
|
|
||||||
|
|
||||||
for sqlfile in files:
|
|
||||||
print(sqlfile)
|
|
||||||
|
|
||||||
try:
|
|
||||||
req = urllib2.Request(sqlfile)
|
|
||||||
response = urllib2.urlopen(req)
|
|
||||||
|
|
||||||
if "Content-Length" in response.headers:
|
|
||||||
if int(response.headers.get("Content-Length")) > MAX_FILE_SIZE:
|
|
||||||
continue
|
|
||||||
|
|
||||||
page = response.read()
|
|
||||||
found = False
|
|
||||||
counter = 0
|
|
||||||
|
|
||||||
for match in re.finditer(REGEX_RESULT, page):
|
|
||||||
counter += 1
|
|
||||||
table = match.group("result").strip().strip("`\"'").replace('"."', ".").replace("].[", ".").strip('[]')
|
|
||||||
|
|
||||||
if table and not any(_ in table for _ in ('>', '<', '--', ' ')):
|
|
||||||
found = True
|
|
||||||
sys.stdout.write('*')
|
|
||||||
|
|
||||||
if table in tables:
|
|
||||||
tables[table] += 1
|
|
||||||
else:
|
|
||||||
tables[table] = 1
|
|
||||||
if found:
|
|
||||||
sys.stdout.write("\n")
|
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
raise
|
|
||||||
|
|
||||||
except Exception as ex:
|
|
||||||
print(ex)
|
|
||||||
|
|
||||||
else:
|
|
||||||
i += 1
|
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
pass
|
|
||||||
|
|
||||||
finally:
|
|
||||||
with open(TABLES_FILE, 'w+') as f:
|
|
||||||
tables = sorted(tables.items(), key=itemgetter(1), reverse=True)
|
|
||||||
for table, count in tables:
|
|
||||||
f.write("%s,%d\n" % (table, count))
|
|
||||||
|
|
||||||
config.set("options", "index", str(i + 1))
|
|
||||||
with open(CONFIG_FILE, 'w+') as f:
|
|
||||||
config.write(f)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
|
@ -17,7 +17,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.3.3.63"
|
VERSION = "1.3.3.64"
|
||||||
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)
|
||||||
|
|
|
@ -23,11 +23,7 @@ class AccessMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Tak
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = ACCESS_SYSTEM_DBS
|
self.excludeDbsList = ACCESS_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.ACCESS] = Syntax.escape
|
unescaper[DBMS.ACCESS] = Syntax.escape
|
||||||
|
|
|
@ -29,9 +29,6 @@ class Connector(GenericConnector):
|
||||||
License: MIT
|
License: MIT
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
if not IS_WIN:
|
if not IS_WIN:
|
||||||
errMsg = "currently, direct connection to Microsoft Access database(s) "
|
errMsg = "currently, direct connection to Microsoft Access database(s) "
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.data import logger
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getBanner(self):
|
def getBanner(self):
|
||||||
warnMsg = "on Microsoft Access it is not possible to get a banner"
|
warnMsg = "on Microsoft Access it is not possible to get a banner"
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on Microsoft Access it is not possible to read files"
|
errMsg = "on Microsoft Access it is not possible to read files"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
def escaper(value):
|
def escaper(value):
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on Microsoft Access it is not possible to execute commands"
|
errMsg = "on Microsoft Access it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -24,11 +24,7 @@ class DB2Map(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeov
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = DB2_SYSTEM_DBS
|
self.excludeDbsList = DB2_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.DB2] = Syntax.escape
|
unescaper[DBMS.DB2] = Syntax.escape
|
||||||
|
|
|
@ -26,9 +26,6 @@ class Connector(GenericConnector):
|
||||||
License: Apache License 2.0
|
License: Apache License 2.0
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.data import logger
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getPasswordHashes(self):
|
def getPasswordHashes(self):
|
||||||
warnMsg = "on DB2 it is not possible to list password hashes"
|
warnMsg = "on DB2 it is not possible to list password hashes"
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
|
@ -8,5 +8,4 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
pass
|
||||||
GenericFilesystem.__init__(self)
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -23,11 +23,7 @@ class FirebirdMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, T
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = FIREBIRD_SYSTEM_DBS
|
self.excludeDbsList = FIREBIRD_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.FIREBIRD] = Syntax.escape
|
unescaper[DBMS.FIREBIRD] = Syntax.escape
|
||||||
|
|
|
@ -27,9 +27,6 @@ class Connector(GenericConnector):
|
||||||
License: BSD
|
License: BSD
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
# sample usage:
|
# sample usage:
|
||||||
# ./sqlmap.py -d "firebird://sysdba:testpass@/opt/firebird/testdb.fdb"
|
# ./sqlmap.py -d "firebird://sysdba:testpass@/opt/firebird/testdb.fdb"
|
||||||
# ./sqlmap.py -d "firebird://sysdba:testpass@127.0.0.1:3050//opt/firebird/testdb.fdb"
|
# ./sqlmap.py -d "firebird://sysdba:testpass@127.0.0.1:3050//opt/firebird/testdb.fdb"
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.data import logger
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getDbs(self):
|
def getDbs(self):
|
||||||
warnMsg = "on Firebird it is not possible to enumerate databases (use only '--tables')"
|
warnMsg = "on Firebird it is not possible to enumerate databases (use only '--tables')"
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on Firebird it is not possible to read files"
|
errMsg = "on Firebird it is not possible to read files"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.common import isDBMSVersionAtLeast
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on Firebird it is not possible to execute commands"
|
errMsg = "on Firebird it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -23,11 +23,7 @@ class H2Map(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Takeove
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = H2_SYSTEM_DBS
|
self.excludeDbsList = H2_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.H2] = Syntax.escape
|
unescaper[DBMS.H2] = Syntax.escape
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.connector import Connector as GenericConnector
|
from plugins.generic.connector import Connector as GenericConnector
|
||||||
|
|
||||||
class Connector(GenericConnector):
|
class Connector(GenericConnector):
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
errMsg = "on H2 it is not (currently) possible to establish a "
|
errMsg = "on H2 it is not (currently) possible to establish a "
|
||||||
errMsg += "direct connection"
|
errMsg += "direct connection"
|
||||||
|
|
|
@ -16,9 +16,6 @@ from lib.core.settings import H2_DEFAULT_SCHEMA
|
||||||
from lib.request import inject
|
from lib.request import inject
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getBanner(self):
|
def getBanner(self):
|
||||||
if not conf.getBanner:
|
if not conf.getBanner:
|
||||||
return
|
return
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on H2 it is not possible to read files"
|
errMsg = "on H2 it is not possible to read files"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on H2 it is not possible to execute commands"
|
errMsg = "on H2 it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -23,11 +23,7 @@ class HSQLDBMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Tak
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = HSQLDB_SYSTEM_DBS
|
self.excludeDbsList = HSQLDB_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.HSQLDB] = Syntax.escape
|
unescaper[DBMS.HSQLDB] = Syntax.escape
|
||||||
|
|
|
@ -30,9 +30,6 @@ class Connector(GenericConnector):
|
||||||
License: LGPL & Apache License 2.0
|
License: LGPL & Apache License 2.0
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -16,9 +16,6 @@ from lib.core.settings import HSQLDB_DEFAULT_SCHEMA
|
||||||
from lib.request import inject
|
from lib.request import inject
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getBanner(self):
|
def getBanner(self):
|
||||||
if not conf.getBanner:
|
if not conf.getBanner:
|
||||||
return
|
return
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on HSQLDB it is not possible to read files"
|
errMsg = "on HSQLDB it is not possible to read files"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on HSQLDB it is not possible to execute commands"
|
errMsg = "on HSQLDB it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -24,11 +24,7 @@ class InformixMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, T
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = INFORMIX_SYSTEM_DBS
|
self.excludeDbsList = INFORMIX_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.INFORMIX] = Syntax.escape
|
unescaper[DBMS.INFORMIX] = Syntax.escape
|
||||||
|
|
|
@ -26,9 +26,6 @@ class Connector(GenericConnector):
|
||||||
License: Apache License 2.0
|
License: Apache License 2.0
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.data import logger
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def searchDb(self):
|
def searchDb(self):
|
||||||
warnMsg = "on Informix searching of databases is not implemented"
|
warnMsg = "on Informix searching of databases is not implemented"
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
|
@ -8,5 +8,4 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
pass
|
||||||
GenericFilesystem.__init__(self)
|
|
|
@ -12,9 +12,6 @@ from lib.core.common import randomStr
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -23,11 +23,7 @@ class MaxDBMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Take
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = MAXDB_SYSTEM_DBS
|
self.excludeDbsList = MAXDB_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.MAXDB] = Syntax.escape
|
unescaper[DBMS.MAXDB] = Syntax.escape
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.connector import Connector as GenericConnector
|
from plugins.generic.connector import Connector as GenericConnector
|
||||||
|
|
||||||
class Connector(GenericConnector):
|
class Connector(GenericConnector):
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
errMsg = "on SAP MaxDB it is not (currently) possible to establish a "
|
errMsg = "on SAP MaxDB it is not (currently) possible to establish a "
|
||||||
errMsg += "direct connection"
|
errMsg += "direct connection"
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on SAP MaxDB reading of files is not supported"
|
errMsg = "on SAP MaxDB reading of files is not supported"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on SAP MaxDB it is not possible to execute commands"
|
errMsg = "on SAP MaxDB it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -23,11 +23,7 @@ class MSSQLServerMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = MSSQL_SYSTEM_DBS
|
self.excludeDbsList = MSSQL_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.MSSQL] = Syntax.escape
|
unescaper[DBMS.MSSQL] = Syntax.escape
|
||||||
|
|
|
@ -34,9 +34,6 @@ class Connector(GenericConnector):
|
||||||
to work, get it from http://sourceforge.net/projects/pymssql/files/pymssql/1.0.2/
|
to work, get it from http://sourceforge.net/projects/pymssql/files/pymssql/1.0.2/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
|
|
||||||
|
|
|
@ -32,9 +32,6 @@ from lib.request import inject
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getPrivileges(self, *args):
|
def getPrivileges(self, *args):
|
||||||
warnMsg = "on Microsoft SQL Server it is not possible to fetch "
|
warnMsg = "on Microsoft SQL Server it is not possible to fetch "
|
||||||
warnMsg += "database users privileges, sqlmap will check whether "
|
warnMsg += "database users privileges, sqlmap will check whether "
|
||||||
|
|
|
@ -28,9 +28,6 @@ from lib.request import inject
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def _dataToScr(self, fileContent, chunkName):
|
def _dataToScr(self, fileContent, chunkName):
|
||||||
fileLines = []
|
fileLines = []
|
||||||
fileSize = len(fileContent)
|
fileSize = len(fileContent)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -29,11 +29,7 @@ class MySQLMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Take
|
||||||
"sys_bineval": {"return": "int"}
|
"sys_bineval": {"return": "int"}
|
||||||
}
|
}
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.MYSQL] = Syntax.escape
|
unescaper[DBMS.MYSQL] = Syntax.escape
|
||||||
|
|
|
@ -30,9 +30,6 @@ class Connector(GenericConnector):
|
||||||
Possible connectors: http://wiki.python.org/moin/MySQL
|
Possible connectors: http://wiki.python.org/moin/MySQL
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
|
|
||||||
|
|
|
@ -8,5 +8,4 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
pass
|
||||||
GenericEnumeration.__init__(self)
|
|
|
@ -29,9 +29,6 @@ from lib.techniques.union.use import unionUse
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def nonStackedReadFile(self, rFile):
|
def nonStackedReadFile(self, rFile):
|
||||||
infoMsg = "fetching file: '%s'" % rFile
|
infoMsg = "fetching file: '%s'" % rFile
|
||||||
logger.info(infoMsg)
|
logger.info(infoMsg)
|
||||||
|
|
|
@ -11,9 +11,6 @@ from lib.core.convert import utf8encode
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -23,11 +23,7 @@ class OracleMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Tak
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = ORACLE_SYSTEM_DBS
|
self.excludeDbsList = ORACLE_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.ORACLE] = Syntax.escape
|
unescaper[DBMS.ORACLE] = Syntax.escape
|
||||||
|
|
|
@ -31,9 +31,6 @@ class Connector(GenericConnector):
|
||||||
License: https://cx-oracle.readthedocs.io/en/latest/license.html#license
|
License: https://cx-oracle.readthedocs.io/en/latest/license.html#license
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
self.__dsn = cx_Oracle.makedsn(self.hostname, self.port, self.db)
|
self.__dsn = cx_Oracle.makedsn(self.hostname, self.port, self.db)
|
||||||
|
|
|
@ -24,9 +24,6 @@ from lib.request import inject
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getRoles(self, query2=False):
|
def getRoles(self, query2=False):
|
||||||
infoMsg = "fetching database users roles"
|
infoMsg = "fetching database users roles"
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "File system read access not yet implemented for "
|
errMsg = "File system read access not yet implemented for "
|
||||||
errMsg += "Oracle"
|
errMsg += "Oracle"
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "Operating system command execution functionality not "
|
errMsg = "Operating system command execution functionality not "
|
||||||
errMsg += "yet implemented for Oracle"
|
errMsg += "yet implemented for Oracle"
|
||||||
|
|
|
@ -30,11 +30,7 @@ class PostgreSQLMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous,
|
||||||
"sys_fileread": {"input": ["text"], "return": "text"}
|
"sys_fileread": {"input": ["text"], "return": "text"}
|
||||||
}
|
}
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.PGSQL] = Syntax.escape
|
unescaper[DBMS.PGSQL] = Syntax.escape
|
||||||
|
|
|
@ -29,9 +29,6 @@ class Connector(GenericConnector):
|
||||||
Possible connectors: http://wiki.python.org/moin/PostgreSQL
|
Possible connectors: http://wiki.python.org/moin/PostgreSQL
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
|
|
||||||
|
|
|
@ -10,9 +10,6 @@ from lib.core.data import logger
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getHostname(self):
|
def getHostname(self):
|
||||||
warnMsg = "on PostgreSQL it is not possible to enumerate the hostname"
|
warnMsg = "on PostgreSQL it is not possible to enumerate the hostname"
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -23,9 +23,6 @@ from lib.request import inject
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def udfSetRemotePath(self):
|
def udfSetRemotePath(self):
|
||||||
# On Windows
|
# On Windows
|
||||||
if Backend.isOs(OS.WINDOWS):
|
if Backend.isOs(OS.WINDOWS):
|
||||||
|
|
|
@ -23,11 +23,7 @@ class SQLiteMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Tak
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = SQLITE_SYSTEM_DBS
|
self.excludeDbsList = SQLITE_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.SQLITE] = Syntax.escape
|
unescaper[DBMS.SQLITE] = Syntax.escape
|
||||||
|
|
|
@ -10,9 +10,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getCurrentUser(self):
|
def getCurrentUser(self):
|
||||||
warnMsg = "on SQLite it is not possible to enumerate the current user"
|
warnMsg = "on SQLite it is not possible to enumerate the current user"
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on SQLite it is not possible to read files"
|
errMsg = "on SQLite it is not possible to read files"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -12,9 +12,6 @@ from lib.core.settings import UNICODE_ENCODING
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on SQLite it is not possible to execute commands"
|
errMsg = "on SQLite it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -23,11 +23,7 @@ class SybaseMap(Syntax, Fingerprint, Enumeration, Filesystem, Miscellaneous, Tak
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.excludeDbsList = SYBASE_SYSTEM_DBS
|
self.excludeDbsList = SYBASE_SYSTEM_DBS
|
||||||
|
|
||||||
Syntax.__init__(self)
|
for cls in self.__class__.__bases__:
|
||||||
Fingerprint.__init__(self)
|
cls.__init__(self)
|
||||||
Enumeration.__init__(self)
|
|
||||||
Filesystem.__init__(self)
|
|
||||||
Miscellaneous.__init__(self)
|
|
||||||
Takeover.__init__(self)
|
|
||||||
|
|
||||||
unescaper[DBMS.SYBASE] = Syntax.escape
|
unescaper[DBMS.SYBASE] = Syntax.escape
|
||||||
|
|
|
@ -34,9 +34,6 @@ class Connector(GenericConnector):
|
||||||
to work, get it from http://sourceforge.net/projects/pymssql/files/pymssql/1.0.2/
|
to work, get it from http://sourceforge.net/projects/pymssql/files/pymssql/1.0.2/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
|
||||||
GenericConnector.__init__(self)
|
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
self.initConnection()
|
self.initConnection()
|
||||||
|
|
||||||
|
|
|
@ -28,9 +28,6 @@ from lib.utils.pivotdumptable import pivotDumpTable
|
||||||
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
from plugins.generic.enumeration import Enumeration as GenericEnumeration
|
||||||
|
|
||||||
class Enumeration(GenericEnumeration):
|
class Enumeration(GenericEnumeration):
|
||||||
def __init__(self):
|
|
||||||
GenericEnumeration.__init__(self)
|
|
||||||
|
|
||||||
def getUsers(self):
|
def getUsers(self):
|
||||||
infoMsg = "fetching database users"
|
infoMsg = "fetching database users"
|
||||||
logger.info(infoMsg)
|
logger.info(infoMsg)
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
from plugins.generic.filesystem import Filesystem as GenericFilesystem
|
||||||
|
|
||||||
class Filesystem(GenericFilesystem):
|
class Filesystem(GenericFilesystem):
|
||||||
def __init__(self):
|
|
||||||
GenericFilesystem.__init__(self)
|
|
||||||
|
|
||||||
def readFile(self, rFile):
|
def readFile(self, rFile):
|
||||||
errMsg = "on Sybase it is not possible to read files"
|
errMsg = "on Sybase it is not possible to read files"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -8,9 +8,6 @@ See the file 'LICENSE' for copying permission
|
||||||
from plugins.generic.syntax import Syntax as GenericSyntax
|
from plugins.generic.syntax import Syntax as GenericSyntax
|
||||||
|
|
||||||
class Syntax(GenericSyntax):
|
class Syntax(GenericSyntax):
|
||||||
def __init__(self):
|
|
||||||
GenericSyntax.__init__(self)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def escape(expression, quote=True):
|
def escape(expression, quote=True):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -9,9 +9,6 @@ from lib.core.exception import SqlmapUnsupportedFeatureException
|
||||||
from plugins.generic.takeover import Takeover as GenericTakeover
|
from plugins.generic.takeover import Takeover as GenericTakeover
|
||||||
|
|
||||||
class Takeover(GenericTakeover):
|
class Takeover(GenericTakeover):
|
||||||
def __init__(self):
|
|
||||||
GenericTakeover.__init__(self)
|
|
||||||
|
|
||||||
def osCmd(self):
|
def osCmd(self):
|
||||||
errMsg = "on Sybase it is not possible to execute commands"
|
errMsg = "on Sybase it is not possible to execute commands"
|
||||||
raise SqlmapUnsupportedFeatureException(errMsg)
|
raise SqlmapUnsupportedFeatureException(errMsg)
|
||||||
|
|
|
@ -30,9 +30,7 @@ from lib.takeover.icmpsh import ICMPsh
|
||||||
from lib.takeover.metasploit import Metasploit
|
from lib.takeover.metasploit import Metasploit
|
||||||
from lib.takeover.registry import Registry
|
from lib.takeover.registry import Registry
|
||||||
|
|
||||||
from plugins.generic.misc import Miscellaneous
|
class Takeover(Abstraction, Metasploit, ICMPsh, Registry):
|
||||||
|
|
||||||
class Takeover(Abstraction, Metasploit, ICMPsh, Registry, Miscellaneous):
|
|
||||||
"""
|
"""
|
||||||
This class defines generic OS takeover functionalities for plugins.
|
This class defines generic OS takeover functionalities for plugins.
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue
Block a user