removing of unused imports together with some general code refactoring

This commit is contained in:
Miroslav Stampar 2012-02-22 10:40:11 +00:00
parent 386e98a0e3
commit b3bd4144f5
104 changed files with 255 additions and 499 deletions

View File

@ -7,7 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import codecs
import os import os
import sys import sys
import time import time

View File

@ -8,13 +8,11 @@ See the file 'doc/COPYING' for copying permission
""" """
import httplib import httplib
import logging
import re import re
import socket import socket
import time import time
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import aliasToDbmsEnum
from lib.core.common import arrayizeValue from lib.core.common import arrayizeValue
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import beep from lib.core.common import beep
@ -22,7 +20,6 @@ from lib.core.common import extractRegexResult
from lib.core.common import findDynamicContent from lib.core.common import findDynamicContent
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import getComparePageRatio from lib.core.common import getComparePageRatio
from lib.core.common import getCompiledRegex
from lib.core.common import getLastRequestHTTPError from lib.core.common import getLastRequestHTTPError
from lib.core.common import getSortedInjectionTests from lib.core.common import getSortedInjectionTests
from lib.core.common import getUnicode from lib.core.common import getUnicode
@ -36,13 +33,11 @@ from lib.core.common import randomStr
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import showStaticWords from lib.core.common import showStaticWords
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.common import trimAlphaNum
from lib.core.common import wasLastRequestDBMSError from lib.core.common import wasLastRequestDBMSError
from lib.core.common import wasLastRequestHTTPError from lib.core.common import wasLastRequestHTTPError
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths
from lib.core.datatype import AttribDict from lib.core.datatype import AttribDict
from lib.core.datatype import InjectionDict from lib.core.datatype import InjectionDict
from lib.core.enums import HTTPHEADER from lib.core.enums import HTTPHEADER
@ -51,7 +46,6 @@ from lib.core.enums import NULLCONNECTION
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.enums import PLACE from lib.core.enums import PLACE
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from lib.core.exception import sqlmapGenericException
from lib.core.exception import sqlmapNoneDataException from lib.core.exception import sqlmapNoneDataException
from lib.core.exception import sqlmapSilentQuitException from lib.core.exception import sqlmapSilentQuitException
from lib.core.exception import sqlmapUserQuitException from lib.core.exception import sqlmapUserQuitException
@ -614,7 +608,7 @@ def heuristicCheckSqlInjection(place, parameter):
def simpletonCheckSqlInjection(place, parameter, value): def simpletonCheckSqlInjection(place, parameter, value):
""" """
This is a function for the quickest and simplest This is a function for the quickest and simplest
sql injection check (e.g. AND 1=1) - only works sql injection check (e.g. AND 1=1) - only works
with integer parameters with integer parameters
""" """
@ -879,7 +873,7 @@ def checkWaf():
conf.parameters[PLACE.GET] += "%s=%d %s" % (randomStr(), randomInt(), IDS_WAF_CHECK_PAYLOAD) conf.parameters[PLACE.GET] += "%s=%d %s" % (randomStr(), randomInt(), IDS_WAF_CHECK_PAYLOAD)
kb.matchRatio = None kb.matchRatio = None
_ = Request.queryPage() Request.queryPage()
if kb.errorIsNone and kb.matchRatio is None: if kb.errorIsNone and kb.matchRatio is None:
kb.matchRatio = LOWER_RATIO_BOUND kb.matchRatio = LOWER_RATIO_BOUND

View File

@ -11,9 +11,7 @@ from lib.core.common import Backend
from lib.core.common import popValue from lib.core.common import popValue
from lib.core.common import pushValue from lib.core.common import pushValue
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS
from lib.core.settings import MSSQL_ALIASES from lib.core.settings import MSSQL_ALIASES
from lib.core.settings import MYSQL_ALIASES from lib.core.settings import MYSQL_ALIASES
from lib.core.settings import ORACLE_ALIASES from lib.core.settings import ORACLE_ALIASES
@ -64,7 +62,7 @@ def setHandler():
( FIREBIRD_ALIASES, FirebirdMap, FirebirdConn ), ( FIREBIRD_ALIASES, FirebirdMap, FirebirdConn ),
( MAXDB_ALIASES, MaxDBMap, MaxDBConn ), ( MAXDB_ALIASES, MaxDBMap, MaxDBConn ),
( SYBASE_ALIASES, SybaseMap, SybaseConn ), ( SYBASE_ALIASES, SybaseMap, SybaseConn ),
( DB2_ALIASES, DB2Map, DB2Conn ) ( DB2_ALIASES, DB2Map, DB2Conn )
] ]
if Backend.getIdentifiedDbms() is not None: if Backend.getIdentifiedDbms() is not None:

View File

@ -18,11 +18,9 @@ from lib.core.common import isTechniqueAvailable
from lib.core.common import randomInt from lib.core.common import randomInt
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.convert import urlencode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import queries from lib.core.data import queries
from lib.core.datatype import AttribDict
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.enums import PLACE from lib.core.enums import PLACE

View File

@ -14,7 +14,6 @@ import httplib
import inspect import inspect
import logging import logging
import ntpath import ntpath
import optparse
import os import os
import pickle import pickle
import posixpath import posixpath
@ -25,7 +24,6 @@ import string
import struct import struct
import sys import sys
import time import time
import types
import urllib import urllib
import urlparse import urlparse
import unicodedata import unicodedata
@ -49,14 +47,13 @@ from extra.clientform.clientform import ParseError
from extra.cloak.cloak import decloak from extra.cloak.cloak import decloak
from extra.magic import magic from extra.magic import magic
from extra.odict.odict import OrderedDict from extra.odict.odict import OrderedDict
from extra.safe2bin.safe2bin import safecharencode
from lib.core.bigarray import BigArray from lib.core.bigarray import BigArray
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths from lib.core.data import paths
from lib.core.data import queries
from lib.core.convert import htmlunescape from lib.core.convert import htmlunescape
from lib.core.convert import safecharencode
from lib.core.convert import unicodeencode from lib.core.convert import unicodeencode
from lib.core.convert import urldecode from lib.core.convert import urldecode
from lib.core.convert import urlencode from lib.core.convert import urlencode
@ -120,7 +117,6 @@ from lib.core.settings import TIME_STDEV_COEFF
from lib.core.settings import DYNAMICITY_MARK_LENGTH from lib.core.settings import DYNAMICITY_MARK_LENGTH
from lib.core.settings import REFLECTIVE_MISS_THRESHOLD from lib.core.settings import REFLECTIVE_MISS_THRESHOLD
from lib.core.settings import SENSITIVE_DATA_REGEX from lib.core.settings import SENSITIVE_DATA_REGEX
from lib.core.settings import SUPPORTED_OS
from lib.core.settings import UNION_UNIQUE_FIFO_LENGTH from lib.core.settings import UNION_UNIQUE_FIFO_LENGTH
from lib.core.settings import URI_INJECTION_MARK_CHAR from lib.core.settings import URI_INJECTION_MARK_CHAR
from lib.core.settings import URI_QUESTION_MARKER from lib.core.settings import URI_QUESTION_MARKER
@ -403,7 +399,7 @@ class Backend:
1. Sort the tests, getSortedInjectionTests() - detection phase. 1. Sort the tests, getSortedInjectionTests() - detection phase.
2. Ask user whether or not skip specific DBMS tests in detection phase, 2. Ask user whether or not skip specific DBMS tests in detection phase,
lib/controller/checks.py - detection phase. lib/controller/checks.py - detection phase.
3. Sort the fingerprint of the DBMS, lib/controller/handler.py - 3. Sort the fingerprint of the DBMS, lib/controller/handler.py -
fingerprint phase. fingerprint phase.
""" """
@ -869,7 +865,7 @@ def randomStr(length=4, lowercase=False, alphabet=None):
""" """
if alphabet: if alphabet:
rndStr = "".join(random.choice(alphabet) for _ in xrange(0, length)) rndStr = "".join(random.choice(alphabet) for _ in xrange(0, length))
elif lowercase: elif lowercase:
rndStr = "".join(random.choice(string.lowercase) for _ in xrange(0, length)) rndStr = "".join(random.choice(string.lowercase) for _ in xrange(0, length))
else: else:
@ -1670,7 +1666,7 @@ def readXmlFile(xmlFile):
Reads XML file content and returns it's DOM representation Reads XML file content and returns it's DOM representation
""" """
checkFile(xmlFile) checkFile(xmlFile)
with codecs.open(xmlFile, 'r', UNICODE_ENCODING) as f: with codecs.open(xmlFile, 'r', UNICODE_ENCODING) as f:
retVal = minidom.parse(f).documentElement retVal = minidom.parse(f).documentElement
@ -2179,7 +2175,7 @@ def enumValueToNameLookup(type_, value_):
def extractRegexResult(regex, content, flags=0): def extractRegexResult(regex, content, flags=0):
""" """
Returns 'result' group value from a possible match with regex on a given Returns 'result' group value from a possible match with regex on a given
content content
""" """

View File

@ -13,19 +13,14 @@ except:
import md5 import md5
import sha import sha
import binascii
import pickle import pickle
import re import re
import sys import sys
import string
import struct import struct
import urllib import urllib
from extra.safe2bin.safe2bin import safecharencode
from extra.safe2bin.safe2bin import safechardecode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger
from lib.core.enums import PLACE from lib.core.enums import PLACE
from lib.core.settings import UNICODE_ENCODING from lib.core.settings import UNICODE_ENCODING
from lib.core.settings import URLENCODE_CHAR_LIMIT from lib.core.settings import URLENCODE_CHAR_LIMIT

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
import codecs import codecs
import cookielib import cookielib
import difflib
import inspect import inspect
import logging import logging
import os import os
@ -44,7 +43,6 @@ from lib.core.common import parseTargetUrl
from lib.core.common import paths from lib.core.common import paths
from lib.core.common import randomRange from lib.core.common import randomRange
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readCachedFileContent
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import runningAsAdmin from lib.core.common import runningAsAdmin
from lib.core.common import sanitizeStr from lib.core.common import sanitizeStr
@ -55,7 +53,6 @@ from lib.core.convert import urlencode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths
from lib.core.data import queries from lib.core.data import queries
from lib.core.datatype import AttribDict from lib.core.datatype import AttribDict
from lib.core.datatype import InjectionDict from lib.core.datatype import InjectionDict
@ -87,7 +84,6 @@ from lib.core.settings import DEFAULT_TOR_HTTP_PORTS
from lib.core.settings import DEFAULT_TOR_SOCKS_PORT from lib.core.settings import DEFAULT_TOR_SOCKS_PORT
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.core.settings import NULL from lib.core.settings import NULL
from lib.core.settings import PLATFORM
from lib.core.settings import PYVERSION from lib.core.settings import PYVERSION
from lib.core.settings import SITE from lib.core.settings import SITE
from lib.core.settings import DBMS_DICT from lib.core.settings import DBMS_DICT

View File

@ -7,8 +7,8 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from extra.safe2bin.safe2bin import safechardecode
from lib.core.common import unsafeSQLIdentificatorNaming from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.convert import safechardecode
from lib.core.exception import sqlmapMissingDependence from lib.core.exception import sqlmapMissingDependence
from lib.core.exception import sqlmapValueException from lib.core.exception import sqlmapValueException
@ -21,7 +21,7 @@ class Replication:
def __init__(self, dbpath): def __init__(self, dbpath):
try: try:
import sqlite3 import sqlite3
except ImportError, _: except ImportError:
errMsg = "missing module 'sqlite3' needed by switch '--replicate'" errMsg = "missing module 'sqlite3' needed by switch '--replicate'"
raise sqlmapMissingDependence, errMsg raise sqlmapMissingDependence, errMsg

View File

@ -23,7 +23,7 @@ def getRevisionNumber():
client = pysvn.Client() client = pysvn.Client()
if client.info(curDir): if client.info(curDir):
retVal = client.info(curDir).revision.number retVal = client.info(curDir).revision.number
except ImportError, _: except ImportError:
process = execute("svn info %s" % curDir, shell=True, stdout=PIPE, stderr=PIPE) process = execute("svn info %s" % curDir, shell=True, stdout=PIPE, stderr=PIPE)
svnStdout, svnStderr = process.communicate() svnStdout, svnStderr = process.communicate()

View File

@ -12,7 +12,6 @@ import re
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import dataToSessionFile from lib.core.common import dataToSessionFile
from lib.core.common import getFilteredPageContent
from lib.core.common import intersect from lib.core.common import intersect
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
@ -21,12 +20,7 @@ from lib.core.convert import base64unpickle
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.datatype import InjectionDict
from lib.core.enums import DBMS
from lib.core.enums import OS from lib.core.enums import OS
from lib.core.enums import PAYLOAD
from lib.core.enums import PLACE
from lib.core.settings import METADB_SUFFIX
from lib.core.settings import SUPPORTED_DBMS from lib.core.settings import SUPPORTED_DBMS
from lib.core.settings import UNKNOWN_DBMS_VERSION from lib.core.settings import UNKNOWN_DBMS_VERSION

View File

@ -15,7 +15,6 @@ import sys
from lib.core.enums import CUSTOM_LOGGING from lib.core.enums import CUSTOM_LOGGING
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import DBMS_DIRECTORY_NAME
from lib.core.enums import PLACE
from lib.core.revision import getRevisionNumber from lib.core.revision import getRevisionNumber
# sqlmap version and site # sqlmap version and site
@ -258,9 +257,9 @@ NULL = "NULL"
CURRENT_DB = "CD" CURRENT_DB = "CD"
# Regular expressions used for parsing error messages (--parse-errors) # Regular expressions used for parsing error messages (--parse-errors)
ERROR_PARSING_REGEXES = ( ERROR_PARSING_REGEXES = (
r"<b>[^<]*(fatal|error|warning|exception)[^<]*</b>:?\s*(?P<result>.+?)<br\s*/?\s*>", r"<b>[^<]*(fatal|error|warning|exception)[^<]*</b>:?\s*(?P<result>.+?)<br\s*/?\s*>",
r"<li>Error Type:<br>(?P<result>.+?)</li>", r"<li>Error Type:<br>(?P<result>.+?)</li>",
r"error '[0-9a-f]{8}'((<[^>]+>)|\s)+(?P<result>[^<>]+)" r"error '[0-9a-f]{8}'((<[^>]+>)|\s)+(?P<result>[^<>]+)"
) )

View File

@ -13,10 +13,8 @@ import rlcompleter
from lib.core import readlineng as readline from lib.core import readlineng as readline
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths from lib.core.data import paths
from lib.core.data import queries
from lib.core.enums import OS from lib.core.enums import OS
def saveHistory(): def saveHistory():
@ -70,7 +68,7 @@ def autoCompletion(sqlShell=False, osShell=False):
else: else:
# Reference: http://en.wikipedia.org/wiki/List_of_Unix_commands # Reference: http://en.wikipedia.org/wiki/List_of_Unix_commands
completer = CompleterNG({ completer = CompleterNG({
"cp": None, "rm": None, "ls": None, "cp": None, "rm": None, "ls": None,
"echo": None, "mkdir": None, "free": None, "echo": None, "mkdir": None, "free": None,
"mv": None, "ifconfig": None, "netstat -natu": None, "mv": None, "ifconfig": None, "netstat -natu": None,
"pwd": None, "uname": None, "id": None, "pwd": None, "uname": None, "id": None,

View File

@ -45,7 +45,6 @@ from lib.core.settings import URI_INJECTION_MARK_CHAR
from lib.core.settings import USER_AGENT_ALIASES from lib.core.settings import USER_AGENT_ALIASES
from lib.utils.hashdb import HashDB from lib.utils.hashdb import HashDB
from lib.core.xmldump import dumper as xmldumper from lib.core.xmldump import dumper as xmldumper
from lib.request.connect import Connect as Request
def __setRequestParams(): def __setRequestParams():
""" """
@ -289,7 +288,7 @@ def __setOutputResume():
def __setResultsFile(): def __setResultsFile():
""" """
Create results file for storing results of running in a Create results file for storing results of running in a
multiple target mode. multiple target mode.
""" """
@ -374,7 +373,7 @@ def __createTargetDirs():
def __restoreCmdLineOptions(): def __restoreCmdLineOptions():
""" """
Restore command line options that could be possibly Restore command line options that could be possibly
changed during the testing of previous target. changed during the testing of previous target.
""" """
conf.regexp = cmdLineOptions.regexp conf.regexp = cmdLineOptions.regexp

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
import doctest import doctest
import logging
import os import os
import re import re
import shutil import shutil

View File

@ -7,14 +7,9 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import os
import re import re
import shutil
import sys
import time import time
from distutils.dir_util import mkpath
from subprocess import PIPE from subprocess import PIPE
from subprocess import Popen as execute from subprocess import Popen as execute
@ -23,11 +18,9 @@ from lib.core.common import getUnicode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths from lib.core.data import paths
from lib.core.exception import sqlmapFilePathException
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.core.settings import UNICODE_ENCODING from lib.core.settings import UNICODE_ENCODING
from lib.core.subprocessng import pollProcess from lib.core.subprocessng import pollProcess
from lib.request.connect import Connect as Request
def update(): def update():
if not conf.updateAll: if not conf.updateAll:

View File

@ -7,8 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import re
from xml.sax.handler import ContentHandler from xml.sax.handler import ContentHandler
from lib.core.common import checkFile from lib.core.common import checkFile

View File

@ -20,7 +20,6 @@ from lib.core.data import logger
from lib.core.defaults import defaults from lib.core.defaults import defaults
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.core.settings import VERSION_STRING from lib.core.settings import VERSION_STRING
from lib.core.settings import UNICODE_ENCODING
def cmdLineParser(): def cmdLineParser():
""" """
@ -33,7 +32,7 @@ def cmdLineParser():
parser = OptionParser(usage=usage, version=VERSION_STRING) parser = OptionParser(usage=usage, version=VERSION_STRING)
try: try:
parser.add_option("-v", dest="verbose", type="int", parser.add_option("-v", dest="verbose", type="int",
help="Verbosity level: 0-6 (default %d)" % defaults.verbose) help="Verbosity level: 0-6 (default %d)" % defaults.verbose)
# Target options # Target options
@ -138,10 +137,10 @@ def cmdLineParser():
help="Retries when the connection timeouts " help="Retries when the connection timeouts "
"(default %d)" % defaults.retries) "(default %d)" % defaults.retries)
request.add_option("--scope", dest="scope", request.add_option("--scope", dest="scope",
help="Regexp to filter targets from provided proxy log") help="Regexp to filter targets from provided proxy log")
request.add_option("--safe-url", dest="safUrl", request.add_option("--safe-url", dest="safUrl",
help="Url address to visit frequently during testing") help="Url address to visit frequently during testing")
request.add_option("--safe-freq", dest="saFreq", type="int", request.add_option("--safe-freq", dest="saFreq", type="int",
@ -494,7 +493,7 @@ def cmdLineParser():
general.add_option("--charset", dest="charset", general.add_option("--charset", dest="charset",
help="Force character encoding used for data retrieval") help="Force character encoding used for data retrieval")
general.add_option("--check-tor", dest="checkTor", general.add_option("--check-tor", dest="checkTor",
action="store_true", action="store_true",
help="Check to see if Tor is used properly") help="Check to see if Tor is used properly")
@ -538,14 +537,14 @@ def cmdLineParser():
action="store_true", action="store_true",
help="Save options to a configuration INI file") help="Save options to a configuration INI file")
general.add_option("--tor", dest="tor", general.add_option("--tor", dest="tor",
action="store_true", action="store_true",
help="Use Tor anonymity network") help="Use Tor anonymity network")
general.add_option("--tor-port", dest="torPort", general.add_option("--tor-port", dest="torPort",
help="Set Tor proxy port other than default") help="Set Tor proxy port other than default")
general.add_option("--tor-type", dest="torType", general.add_option("--tor-type", dest="torType",
help="Set Tor proxy type (HTTP - default, SOCKS4 or SOCKS5)") help="Set Tor proxy type (HTTP - default, SOCKS4 or SOCKS5)")
general.add_option("--update", dest="updateAll", general.add_option("--update", dest="updateAll",
@ -665,7 +664,7 @@ def cmdLineParser():
except (OptionError, TypeError), e: except (OptionError, TypeError), e:
parser.error(e) parser.error(e)
except SystemExit, _: except SystemExit:
# Protection against Windows dummy double clicking # Protection against Windows dummy double clicking
if IS_WIN: if IS_WIN:
print "\nPress Enter to continue...", print "\nPress Enter to continue...",

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
import codecs import codecs
import gzip import gzip
import logging import logging
import os
import re import re
import StringIO import StringIO
import zlib import zlib
@ -19,8 +18,6 @@ from extra.chardet import detect
from lib.core.common import extractErrorMessage from lib.core.common import extractErrorMessage
from lib.core.common import extractRegexResult from lib.core.common import extractRegexResult
from lib.core.common import getUnicode from lib.core.common import getUnicode
from lib.core.common import isWindowsDriveLetterPath
from lib.core.common import posixToNtSlashes
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import singleTimeLogMessage from lib.core.common import singleTimeLogMessage
from lib.core.data import conf from lib.core.data import conf
@ -28,12 +25,10 @@ from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import HTTPHEADER from lib.core.enums import HTTPHEADER
from lib.core.enums import PLACE from lib.core.enums import PLACE
from lib.core.exception import sqlmapDataException
from lib.core.settings import DEFAULT_COOKIE_DELIMITER from lib.core.settings import DEFAULT_COOKIE_DELIMITER
from lib.core.settings import ML from lib.core.settings import ML
from lib.core.settings import META_CHARSET_REGEX from lib.core.settings import META_CHARSET_REGEX
from lib.core.settings import PARSE_HEADERS_LIMIT from lib.core.settings import PARSE_HEADERS_LIMIT
from lib.core.settings import UNICODE_ENCODING
from lib.parse.headers import headersParser from lib.parse.headers import headersParser
from lib.parse.html import htmlParser from lib.parse.html import htmlParser
@ -229,4 +224,4 @@ def processResponse(page, responseHeaders):
msg = extractErrorMessage(page) msg = extractErrorMessage(page)
if msg: if msg:
logger.info("parsed error message: '%s'" % msg) logger.info("parsed error message: '%s'" % msg)

View File

@ -20,18 +20,15 @@ from extra.multipart import multipartpost
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import asciifyUrl from lib.core.common import asciifyUrl
from lib.core.common import average
from lib.core.common import calculateDeltaSeconds from lib.core.common import calculateDeltaSeconds
from lib.core.common import clearConsoleLine from lib.core.common import clearConsoleLine
from lib.core.common import cpuThrottle from lib.core.common import cpuThrottle
from lib.core.common import evaluateCode from lib.core.common import evaluateCode
from lib.core.common import extractRegexResult from lib.core.common import extractRegexResult
from lib.core.common import getCurrentThreadData from lib.core.common import getCurrentThreadData
from lib.core.common import getFilteredPageContent
from lib.core.common import getHostHeader from lib.core.common import getHostHeader
from lib.core.common import getUnicode from lib.core.common import getUnicode
from lib.core.common import logHTTPTraffic from lib.core.common import logHTTPTraffic
from lib.core.common import parseTargetUrl
from lib.core.common import randomizeParameterValue from lib.core.common import randomizeParameterValue
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import removeReflectiveValues from lib.core.common import removeReflectiveValues
@ -61,7 +58,6 @@ from lib.core.settings import MIN_TIME_RESPONSES
from lib.core.settings import WARN_TIME_STDEV from lib.core.settings import WARN_TIME_STDEV
from lib.core.settings import UNENCODED_ORIGINAL_VALUE from lib.core.settings import UNENCODED_ORIGINAL_VALUE
from lib.core.settings import URI_HTTP_HEADER from lib.core.settings import URI_HTTP_HEADER
from lib.core.threads import getCurrentThreadData
from lib.request.basic import decodePage from lib.request.basic import decodePage
from lib.request.basic import forgeHeaders from lib.request.basic import forgeHeaders
from lib.request.basic import processResponse from lib.request.basic import processResponse
@ -171,7 +167,6 @@ class Connect:
url = url.replace(" ", "%20") url = url.replace(" ", "%20")
page = None page = None
cookieStr = u""
requestMsg = u"HTTP request [#%d]:\n%s " % (threadData.lastRequestUID, method or (HTTPMETHOD.POST if post else HTTPMETHOD.GET)) requestMsg = u"HTTP request [#%d]:\n%s " % (threadData.lastRequestUID, method or (HTTPMETHOD.POST if post else HTTPMETHOD.GET))
requestMsg += "%s" % urlparse.urlsplit(url)[2] or "/" requestMsg += "%s" % urlparse.urlsplit(url)[2] or "/"
responseMsg = u"HTTP response " responseMsg = u"HTTP response "
@ -203,7 +198,7 @@ class Connect:
requestMsg += "?%s" % params requestMsg += "?%s" % params
elif multipart: elif multipart:
# Needed in this form because of potential circle dependency # Needed in this form because of potential circle dependency
# problem (option -> update -> connect -> option) # problem (option -> update -> connect -> option)
from lib.core.option import proxyHandler from lib.core.option import proxyHandler
@ -563,7 +558,7 @@ class Connect:
elif place: elif place:
if place in (PLACE.GET, PLACE.POST, PLACE.URI): if place in (PLACE.GET, PLACE.POST, PLACE.URI):
# payloads in GET and/or POST need to be urlencoded # payloads in GET and/or POST need to be urlencoded
# throughly without safe chars (especially & and =) # throughly without safe chars (especially & and =)
# addendum: as we support url encoding in tampering # addendum: as we support url encoding in tampering
# functions therefore we need to use % as a safe char # functions therefore we need to use % as a safe char
@ -619,7 +614,6 @@ class Connect:
for randomParameter in conf.rParam: for randomParameter in conf.rParam:
for item in [PLACE.GET, PLACE.POST, PLACE.COOKIE]: for item in [PLACE.GET, PLACE.POST, PLACE.COOKIE]:
if item in conf.parameters: if item in conf.parameters:
origValue = conf.parameters[item]
if item == PLACE.GET and get: if item == PLACE.GET and get:
get = _randomizeParameter(get, randomParameter) get = _randomizeParameter(get, randomParameter)
elif item == PLACE.POST and post: elif item == PLACE.POST and post:

View File

@ -10,14 +10,11 @@ See the file 'doc/COPYING' for copying permission
import time import time
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import dataToSessionFile
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import calculateDeltaSeconds from lib.core.common import calculateDeltaSeconds
from lib.core.common import getCurrentThreadData from lib.core.common import getCurrentThreadData
from lib.core.common import getUnicode from lib.core.common import getUnicode
from lib.core.convert import base64pickle
from lib.core.convert import base64unpickle from lib.core.convert import base64unpickle
from lib.core.convert import utf8decode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger

View File

@ -7,16 +7,14 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from extra.safe2bin.safe2bin import safechardecode
from lib.core.common import dataToStdout from lib.core.common import dataToStdout
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import isTechniqueAvailable from lib.core.common import isTechniqueAvailable
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.convert import safechardecode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import OS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapUnsupportedFeatureException from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.core.shell import autoCompletion from lib.core.shell import autoCompletion

View File

@ -19,7 +19,6 @@ from lib.core.common import ntToPosixSlashes
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths from lib.core.data import paths

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
import codecs import codecs
import os import os
import re import re
import stat
import sys import sys
import time import time
@ -29,7 +28,6 @@ from lib.core.common import randomRange
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths from lib.core.data import paths
from lib.core.enums import DBMS from lib.core.enums import DBMS
@ -41,7 +39,6 @@ from lib.core.subprocessng import blockingReadFromFD
from lib.core.subprocessng import blockingWriteToFD from lib.core.subprocessng import blockingWriteToFD
from lib.core.subprocessng import pollProcess from lib.core.subprocessng import pollProcess
from lib.core.subprocessng import setNonBlocking from lib.core.subprocessng import setNonBlocking
from lib.request.connect import Connect as Request
class Metasploit: class Metasploit:

View File

@ -34,8 +34,6 @@ from lib.core.data import logger
from lib.core.data import paths from lib.core.data import paths
from lib.core.enums import OS from lib.core.enums import OS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapUnsupportedDBMSException
from lib.core.shell import autoCompletion
from lib.request.connect import Connect as Request from lib.request.connect import Connect as Request

View File

@ -10,13 +10,11 @@ See the file 'doc/COPYING' for copying permission
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import getSPLSnippet from lib.core.common import getSPLSnippet
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readCachedFileContent
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import wasLastRequestDelayed from lib.core.common import wasLastRequestDelayed
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import paths
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.exception import sqlmapUnsupportedFeatureException from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.core.session import setXpCmdshellAvailability from lib.core.session import setXpCmdshellAvailability

View File

@ -9,8 +9,8 @@ See the file 'doc/COPYING' for copying permission
import threading import threading
import time import time
import traceback
from extra.safe2bin.safe2bin import safecharencode
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import dataToStdout from lib.core.common import dataToStdout
@ -22,21 +22,14 @@ from lib.core.common import getCounter
from lib.core.common import goGoodSamaritan from lib.core.common import goGoodSamaritan
from lib.core.common import getPartRun from lib.core.common import getPartRun
from lib.core.common import incrementCounter from lib.core.common import incrementCounter
from lib.core.common import popValue
from lib.core.common import pushValue
from lib.core.common import replaceNewlineTabs
from lib.core.common import safeStringFormat from lib.core.common import safeStringFormat
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.common import unhandledExceptionMessage
from lib.core.convert import safecharencode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import queries from lib.core.data import queries
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapConnectionException
from lib.core.exception import sqlmapValueException
from lib.core.exception import sqlmapThreadException from lib.core.exception import sqlmapThreadException
from lib.core.progress import ProgressBar from lib.core.progress import ProgressBar
from lib.core.settings import CHAR_INFERENCE_MARK from lib.core.settings import CHAR_INFERENCE_MARK
@ -47,7 +40,6 @@ from lib.core.settings import INFERENCE_EQUALS_CHAR
from lib.core.settings import INFERENCE_NOT_EQUALS_CHAR from lib.core.settings import INFERENCE_NOT_EQUALS_CHAR
from lib.core.settings import MAX_TIME_REVALIDATION_STEPS from lib.core.settings import MAX_TIME_REVALIDATION_STEPS
from lib.core.settings import PARTIAL_VALUE_MARKER from lib.core.settings import PARTIAL_VALUE_MARKER
from lib.core.settings import PYVERSION
from lib.core.threads import getCurrentThreadData from lib.core.threads import getCurrentThreadData
from lib.core.threads import runThreads from lib.core.threads import runThreads
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper

View File

@ -7,7 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import threading
import time import time
from lib.core.common import clearConsoleLine from lib.core.common import clearConsoleLine
@ -16,11 +15,8 @@ from lib.core.common import filterListValue
from lib.core.common import getFileItems from lib.core.common import getFileItems
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import getPageWordSet from lib.core.common import getPageWordSet
from lib.core.common import popValue
from lib.core.common import pushValue
from lib.core.common import randomInt from lib.core.common import randomInt
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readInput
from lib.core.common import safeStringFormat from lib.core.common import safeStringFormat
from lib.core.common import safeSQLIdentificatorNaming from lib.core.common import safeSQLIdentificatorNaming
from lib.core.data import conf from lib.core.data import conf
@ -30,12 +26,9 @@ from lib.core.enums import DBMS
from lib.core.enums import HASHDB_KEYS from lib.core.enums import HASHDB_KEYS
from lib.core.exception import sqlmapDataException from lib.core.exception import sqlmapDataException
from lib.core.exception import sqlmapMissingMandatoryOptionException from lib.core.exception import sqlmapMissingMandatoryOptionException
from lib.core.exception import sqlmapThreadException
from lib.core.settings import MAX_NUMBER_OF_THREADS
from lib.core.settings import METADB_SUFFIX from lib.core.settings import METADB_SUFFIX
from lib.core.settings import BRUTE_COLUMN_EXISTS_TEMPLATE from lib.core.settings import BRUTE_COLUMN_EXISTS_TEMPLATE
from lib.core.settings import BRUTE_TABLE_EXISTS_TEMPLATE from lib.core.settings import BRUTE_TABLE_EXISTS_TEMPLATE
from lib.core.session import safeFormatString
from lib.core.threads import getCurrentThreadData from lib.core.threads import getCurrentThreadData
from lib.core.threads import runThreads from lib.core.threads import runThreads
from lib.request import inject from lib.request import inject

View File

@ -8,9 +8,9 @@ See the file 'doc/COPYING' for copying permission
""" """
import re import re
import threading
import time import time
from extra.safe2bin.safe2bin import safecharencode
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.bigarray import BigArray from lib.core.bigarray import BigArray
from lib.core.common import Backend from lib.core.common import Backend
@ -23,19 +23,14 @@ from lib.core.common import incrementCounter
from lib.core.common import initTechnique from lib.core.common import initTechnique
from lib.core.common import isNumPosStrValue from lib.core.common import isNumPosStrValue
from lib.core.common import listToStrValue from lib.core.common import listToStrValue
from lib.core.common import randomInt
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import safeStringFormat
from lib.core.convert import htmlunescape from lib.core.convert import htmlunescape
from lib.core.convert import safecharencode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import queries from lib.core.data import queries
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import EXPECTED
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapConnectionException
from lib.core.settings import FROM_DUMMY_TABLE from lib.core.settings import FROM_DUMMY_TABLE
from lib.core.settings import MYSQL_ERROR_CHUNK_LENGTH from lib.core.settings import MYSQL_ERROR_CHUNK_LENGTH
from lib.core.settings import MSSQL_ERROR_CHUNK_LENGTH from lib.core.settings import MSSQL_ERROR_CHUNK_LENGTH
@ -203,7 +198,6 @@ def errorUse(expression, expected=None, dump=False):
output = None output = None
outputs = [] outputs = []
untilLimitChar = None untilLimitChar = None
untilOrderChar = None
_, _, _, _, _, expressionFieldsList, expressionFields, _ = agent.getFields(expression) _, _, _, _, _, expressionFieldsList, expressionFields, _ = agent.getFields(expression)

View File

@ -9,15 +9,10 @@ See the file 'doc/COPYING' for copying permission
import random import random
import re import re
import time
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import average from lib.core.common import average
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import clearConsoleLine
from lib.core.common import dataToStdout
from lib.core.common import extractRegexResult
from lib.core.common import getUnicode
from lib.core.common import isNullValue from lib.core.common import isNullValue
from lib.core.common import listToStrValue from lib.core.common import listToStrValue
from lib.core.common import popValue from lib.core.common import popValue
@ -32,8 +27,6 @@ from lib.core.common import wasLastRequestDBMSError
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import queries
from lib.core.enums import DBMS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.settings import FROM_DUMMY_TABLE from lib.core.settings import FROM_DUMMY_TABLE
from lib.core.settings import UNION_MIN_RESPONSE_CHARS from lib.core.settings import UNION_MIN_RESPONSE_CHARS

View File

@ -8,9 +8,9 @@ See the file 'doc/COPYING' for copying permission
""" """
import re import re
import threading
import time import time
from extra.safe2bin.safe2bin import safecharencode
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.bigarray import BigArray from lib.core.bigarray import BigArray
from lib.core.common import Backend from lib.core.common import Backend
@ -27,14 +27,12 @@ from lib.core.common import listToStrValue
from lib.core.common import parseUnionPage from lib.core.common import parseUnionPage
from lib.core.common import removeReflectiveValues from lib.core.common import removeReflectiveValues
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.convert import safecharencode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import queries from lib.core.data import queries
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapConnectionException
from lib.core.exception import sqlmapSyntaxException from lib.core.exception import sqlmapSyntaxException
from lib.core.settings import FROM_DUMMY_TABLE from lib.core.settings import FROM_DUMMY_TABLE
from lib.core.settings import SQL_SCALAR_REGEX from lib.core.settings import SQL_SCALAR_REGEX

View File

@ -12,7 +12,6 @@ import re
from lib.core.common import getCompiledRegex from lib.core.common import getCompiledRegex
from lib.core.common import readXmlFile from lib.core.common import readXmlFile
from lib.core.convert import urldecode from lib.core.convert import urldecode
from lib.core.data import conf
from lib.core.data import paths from lib.core.data import paths
from lib.core.data import logger from lib.core.data import logger

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
import httplib import httplib
import re import re
import threading
import urlparse import urlparse
import time import time
@ -73,16 +72,16 @@ class Crawler:
for tag in soup('a'): for tag in soup('a'):
if tag.get("href"): if tag.get("href"):
url = urlparse.urljoin(conf.url, tag.get("href")) url = urlparse.urljoin(conf.url, tag.get("href"))
# flag to know if we are dealing with the same target host # flag to know if we are dealing with the same target host
target = reduce(lambda x, y: x == y, map(lambda x: urlparse.urlparse(x).netloc.split(':')[0], [url, conf.url])) target = reduce(lambda x, y: x == y, map(lambda x: urlparse.urlparse(x).netloc.split(':')[0], [url, conf.url]))
if conf.scope: if conf.scope:
if not re.search(conf.scope, url, re.I): if not re.search(conf.scope, url, re.I):
continue continue
elif not target: elif not target:
continue continue
if url.split('.')[-1].lower() not in CRAWL_EXCLUDE_EXTENSIONS: if url.split('.')[-1].lower() not in CRAWL_EXCLUDE_EXTENSIONS:
kb.locks.outputs.acquire() kb.locks.outputs.acquire()
threadData.shared.deeper.add(url) threadData.shared.deeper.add(url)

View File

@ -7,10 +7,8 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.exception import sqlmapMissingDependence
from lib.core.settings import DBMS_DICT from lib.core.settings import DBMS_DICT
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN

View File

@ -15,7 +15,6 @@ import urllib2
from lib.core.common import getUnicode from lib.core.common import getUnicode
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.convert import htmlunescape
from lib.core.convert import urldecode from lib.core.convert import urldecode
from lib.core.convert import urlencode from lib.core.convert import urlencode
from lib.core.data import conf from lib.core.data import conf
@ -51,7 +50,7 @@ class Google:
retVal = re.findall(GOOGLE_REGEX, page, re.I | re.S) retVal = re.findall(GOOGLE_REGEX, page, re.I | re.S)
return retVal return retVal
def getTargetUrls(self): def getTargetUrls(self):
""" """
@ -84,7 +83,7 @@ class Google:
_ = conn.info() _ = conn.info()
except urllib2.HTTPError, e: except urllib2.HTTPError, e:
_ = e.info() _ = e.info()
except urllib2.URLError, _: except urllib2.URLError:
errMsg = "unable to connect to Google" errMsg = "unable to connect to Google"
raise sqlmapConnectionException, errMsg raise sqlmapConnectionException, errMsg
@ -134,7 +133,7 @@ class Google:
warnMsg += "to get error page information (%d)" % e.code warnMsg += "to get error page information (%d)" % e.code
logger.critical(warnMsg) logger.critical(warnMsg)
return None return None
except (urllib2.URLError, socket.error, socket.timeout), _: except (urllib2.URLError, socket.error, socket.timeout):
errMsg = "unable to connect to Google" errMsg = "unable to connect to Google"
raise sqlmapConnectionException, errMsg raise sqlmapConnectionException, errMsg

View File

@ -23,14 +23,11 @@ except (ImportError, OSError):
else: else:
_multiprocessing = multiprocessing _multiprocessing = multiprocessing
import os
import re
import time import time
from hashlib import md5 from hashlib import md5
from hashlib import sha1 from hashlib import sha1
from Queue import Queue from Queue import Queue
from zipfile import ZipFile
from extra.pydes.pyDes import des from extra.pydes.pyDes import des
from extra.pydes.pyDes import CBC from extra.pydes.pyDes import CBC
@ -63,7 +60,6 @@ from lib.core.settings import HASH_MOD_ITEM_DISPLAY
from lib.core.settings import HASH_RECOGNITION_QUIT_THRESHOLD from lib.core.settings import HASH_RECOGNITION_QUIT_THRESHOLD
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.core.settings import ITOA64 from lib.core.settings import ITOA64
from lib.core.settings import PYVERSION
from lib.core.settings import ML from lib.core.settings import ML
from lib.core.settings import UNICODE_ENCODING from lib.core.settings import UNICODE_ENCODING
from lib.core.settings import ROTATING_CHARS from lib.core.settings import ROTATING_CHARS
@ -289,14 +285,14 @@ def wordpress_passwd(password, salt, count, prefix, uppercase=False):
return retVal.upper() if uppercase else retVal return retVal.upper() if uppercase else retVal
__functions__ = { __functions__ = {
HASH.MYSQL: mysql_passwd, HASH.MYSQL: mysql_passwd,
HASH.MYSQL_OLD: mysql_old_passwd, HASH.MYSQL_OLD: mysql_old_passwd,
HASH.POSTGRES: postgres_passwd, HASH.POSTGRES: postgres_passwd,
HASH.MSSQL: mssql_passwd, HASH.MSSQL: mssql_passwd,
HASH.MSSQL_OLD: mssql_old_passwd, HASH.MSSQL_OLD: mssql_old_passwd,
HASH.ORACLE: oracle_passwd, HASH.ORACLE: oracle_passwd,
HASH.ORACLE_OLD: oracle_old_passwd, HASH.ORACLE_OLD: oracle_old_passwd,
HASH.MD5_GENERIC: md5_generic_passwd, HASH.MD5_GENERIC: md5_generic_passwd,
HASH.SHA1_GENERIC: sha1_generic_passwd, HASH.SHA1_GENERIC: sha1_generic_passwd,
HASH.CRYPT_GENERIC: crypt_generic_passwd, HASH.CRYPT_GENERIC: crypt_generic_passwd,
HASH.WORDPRESS: wordpress_passwd HASH.WORDPRESS: wordpress_passwd

View File

@ -13,7 +13,6 @@ import threading
from lib.core.common import serializeObject from lib.core.common import serializeObject
from lib.core.common import unserializeObject from lib.core.common import unserializeObject
from lib.core.data import conf
from lib.core.settings import HASHDB_FLUSH_THRESHOLD from lib.core.settings import HASHDB_FLUSH_THRESHOLD
from lib.core.settings import UNICODE_ENCODING from lib.core.settings import UNICODE_ENCODING
from lib.core.threads import getCurrentThreadData from lib.core.threads import getCurrentThreadData

View File

@ -24,7 +24,6 @@ from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import queries from lib.core.data import queries
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import PAYLOAD
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from lib.techniques.blind.inference import bisection from lib.techniques.blind.inference import bisection

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import ACCESS_SYSTEM_DBS from lib.core.settings import ACCESS_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.access.enumeration import Enumeration from plugins.dbms.access.enumeration import Enumeration
from plugins.dbms.access.filesystem import Filesystem from plugins.dbms.access.filesystem import Filesystem
from plugins.dbms.access.fingerprint import Fingerprint from plugins.dbms.access.fingerprint import Fingerprint

View File

@ -12,12 +12,10 @@ try:
except ImportError, _: except ImportError, _:
pass pass
from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from lib.core.exception import sqlmapUnsupportedFeatureException from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector): class Connector(GenericConnector):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
import re import re
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import getCurrentThreadData from lib.core.common import getCurrentThreadData
@ -23,10 +22,7 @@ from lib.core.enums import DBMS
from lib.core.session import setDbms from lib.core.session import setDbms
from lib.core.settings import ACCESS_ALIASES from lib.core.settings import ACCESS_ALIASES
from lib.core.settings import METADB_SUFFIX from lib.core.settings import METADB_SUFFIX
from lib.core.threads import getCurrentThreadData
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):
@ -54,7 +50,7 @@ class Fingerprint(GenericFingerprint):
logger.info(infoMsg) logger.info(infoMsg)
# Microsoft Access table reference updated on 01/2010 # Microsoft Access table reference updated on 01/2010
sysTables = { sysTables = {
"97": ("MSysModules2", "MSysAccessObjects"), "97": ("MSysModules2", "MSysAccessObjects"),
"2000" : ("!MSysModules2", "MSysAccessObjects"), "2000" : ("!MSysModules2", "MSysAccessObjects"),
"2002-2003" : ("MSysAccessStorage", "!MSysNavPaneObjectIDs"), "2002-2003" : ("MSysAccessStorage", "!MSysNavPaneObjectIDs"),

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -1,63 +1,62 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
$Id$ $Id$
Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/) Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
try: try:
import ibm_db_dbi import ibm_db_dbi
except ImportError, _: except ImportError, _:
pass pass
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from plugins.generic.connector import Connector as GenericConnector
from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector):
class Connector(GenericConnector): """
""" Homepage: http://code.google.com/p/ibm-db/
Homepage: http://code.google.com/p/ibm-db/ User guide: http://code.google.com/p/ibm-db/wiki/README
User guide: http://code.google.com/p/ibm-db/wiki/README API: http://www.python.org/dev/peps/pep-0249/
API: http://www.python.org/dev/peps/pep-0249/ License: Apache License 2.0
License: Apache License 2.0 """
"""
def __init__(self):
def __init__(self): GenericConnector.__init__(self)
GenericConnector.__init__(self)
def connect(self):
def connect(self): self.initConnection()
self.initConnection()
try:
try: database = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;" % (self.db, self.hostname, self.port)
database = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=%s;HOSTNAME=%s;PORT=%s;PROTOCOL=TCPIP;" % (self.db, self.hostname, self.port) self.connector = ibm_db_dbi.connect(database, self.user, self.password)
self.connector = ibm_db_dbi.connect(database, self.user, self.password) except ibm_db_dbi.OperationalError, msg:
except ibm_db_dbi.OperationalError, msg: raise sqlmapConnectionException, msg
raise sqlmapConnectionException, msg
self.setCursor()
self.setCursor() self.connected()
self.connected()
def fetchall(self):
def fetchall(self): try:
try: return self.cursor.fetchall()
return self.cursor.fetchall() except ibm_db_dbi.ProgrammingError, msg:
except ibm_db_dbi.ProgrammingError, msg: logger.warn("(remote) %s" % msg[1])
logger.warn("(remote) %s" % msg[1]) return None
return None
def execute(self, query):
def execute(self, query): try:
try: self.cursor.execute(query)
self.cursor.execute(query) except (ibm_db_dbi.OperationalError, ibm_db_dbi.ProgrammingError), msg:
except (ibm_db_dbi.OperationalError, ibm_db_dbi.ProgrammingError), msg: logger.warn("(remote) %s" % msg[1])
logger.warn("(remote) %s" % msg[1]) except ibm_db_dbi.InternalError, msg:
except ibm_db_dbi.InternalError, msg: raise sqlmapConnectionException, msg[1]
raise sqlmapConnectionException, msg[1]
self.connector.commit()
self.connector.commit()
def select(self, query):
def select(self, query): self.execute(query)
self.execute(query) return self.fetchall()
return self.fetchall()

View File

@ -1,23 +1,14 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
$Id$ $Id$
Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/) Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.common import randomStr from plugins.generic.filesystem import Filesystem as GenericFilesystem
from lib.core.data import conf
from lib.core.data import kb class Filesystem(GenericFilesystem):
from lib.core.data import logger def __init__(self):
from lib.core.enums import PLACE GenericFilesystem.__init__(self)
from lib.core.exception import sqlmapNoneDataException
from lib.request import inject
#from lib.techniques.inband.union.use import unionUse
from plugins.generic.filesystem import Filesystem as GenericFilesystem
class Filesystem(GenericFilesystem):
def __init__(self):
GenericFilesystem.__init__(self)

View File

@ -1,113 +1,112 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
$Id$ $Id$
Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/) Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import randomInt from lib.core.common import randomInt
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.session import setDbms from lib.core.session import setDbms
from lib.core.settings import DB2_ALIASES from lib.core.settings import DB2_ALIASES
from lib.request import inject from lib.request import inject
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint):
class Fingerprint(GenericFingerprint): def __init__(self):
def __init__(self): GenericFingerprint.__init__(self, DBMS.DB2)
GenericFingerprint.__init__(self, DBMS.DB2)
def __versionCheck(self):
def __versionCheck(self): minor, major = None, None
minor, major = None, None
for version in reversed(xrange(5, 15)):
for version in reversed(xrange(5, 15)): result = inject.checkBooleanExpression("(SELECT COUNT(*) FROM sysibm.sysversions WHERE versionnumber BETWEEN %d000000 AND %d999999)>0" % (version, version))
result = inject.checkBooleanExpression("(SELECT COUNT(*) FROM sysibm.sysversions WHERE versionnumber BETWEEN %d000000 AND %d999999)>0" % (version, version))
if result:
if result: major = version
major = version
for version in reversed(xrange(0, 20)):
for version in reversed(xrange(0, 20)): result = inject.checkBooleanExpression("(SELECT COUNT(*) FROM sysibm.sysversions WHERE versionnumber BETWEEN %d%02d0000 AND %d%02d9999)>0" % (major, version, major, version))
result = inject.checkBooleanExpression("(SELECT COUNT(*) FROM sysibm.sysversions WHERE versionnumber BETWEEN %d%02d0000 AND %d%02d9999)>0" % (major, version, major, version)) if result:
if result: minor = version
minor = version version = "%s.%s" % (major, minor)
version = "%s.%s" % (major, minor) break
break
break
break
if major and minor:
if major and minor: return "%s.%s" % (major, minor)
return "%s.%s" % (major, minor) else:
else: return None
return None
def getFingerprint(self):
def getFingerprint(self): value = ""
value = "" wsOsFp = Format.getOs("web server", kb.headersFp)
wsOsFp = Format.getOs("web server", kb.headersFp)
if wsOsFp:
if wsOsFp: value += "%s\n" % wsOsFp
value += "%s\n" % wsOsFp
if kb.data.banner:
if kb.data.banner: dbmsOsFp = Format.getOs("back-end DBMS", kb.bannerFp)
dbmsOsFp = Format.getOs("back-end DBMS", kb.bannerFp)
if dbmsOsFp:
if dbmsOsFp: value += "%s\n" % dbmsOsFp
value += "%s\n" % dbmsOsFp
value += "back-end DBMS: "
value += "back-end DBMS: "
if not conf.extensiveFp:
if not conf.extensiveFp: value += DBMS.DB2
value += DBMS.DB2 return value
return value
actVer = Format.getDbms()
actVer = Format.getDbms() blank = " " * 15
blank = " " * 15 value += "active fingerprint: %s" % actVer
value += "active fingerprint: %s" % actVer
if kb.bannerFp:
if kb.bannerFp: banVer = kb.bannerFp["dbmsVersion"] if 'dbmsVersion' in kb.bannerFp else None
banVer = kb.bannerFp["dbmsVersion"] if 'dbmsVersion' in kb.bannerFp else None banVer = Format.getDbms([banVer])
banVer = Format.getDbms([banVer]) value += "\n%sbanner parsing fingerprint: %s" % (blank, banVer)
value += "\n%sbanner parsing fingerprint: %s" % (blank, banVer)
htmlErrorFp = Format.getErrorParsedDBMSes()
htmlErrorFp = Format.getErrorParsedDBMSes()
if htmlErrorFp:
if htmlErrorFp: value += "\n%shtml error message fingerprint: %s" % (blank, htmlErrorFp)
value += "\n%shtml error message fingerprint: %s" % (blank, htmlErrorFp)
return value
return value
def checkDbms(self):
def checkDbms(self): if not conf.extensiveFp and (Backend.isDbmsWithin(DB2_ALIASES) or conf.dbms in DB2_ALIASES):
if not conf.extensiveFp and (Backend.isDbmsWithin(DB2_ALIASES) or conf.dbms in DB2_ALIASES): setDbms(DBMS.DB2)
setDbms(DBMS.DB2)
return True
return True
logMsg = "testing %s" % DBMS.DB2
logMsg = "testing %s" % DBMS.DB2 logger.info(logMsg)
logger.info(logMsg)
randInt = randomInt()
randInt = randomInt() result = inject.checkBooleanExpression("%d=(SELECT %d FROM SYSIBM.SYSDUMMY1)" % (randInt, randInt))
result = inject.checkBooleanExpression("%d=(SELECT %d FROM SYSIBM.SYSDUMMY1)" % (randInt, randInt))
if result:
if result: logMsg = "confirming %s" % DBMS.DB2
logMsg = "confirming %s" % DBMS.DB2 logger.info(logMsg)
logger.info(logMsg)
version = self.__versionCheck()
version = self.__versionCheck()
if version:
if version: Backend.setVersion(version)
Backend.setVersion(version) setDbms("%s %s" % (DBMS.DB2, Backend.getVersion()))
setDbms("%s %s" % (DBMS.DB2, Backend.getVersion()))
return True
return True else:
else: warnMsg = "the back-end DBMS is not %s" % DBMS.DB2
warnMsg = "the back-end DBMS is not %s" % DBMS.DB2 logger.warn(warnMsg)
logger.warn(warnMsg)
return False
return False

View File

@ -1,32 +1,17 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
$Id$ $Id$
Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/) Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import re from plugins.generic.takeover import Takeover as GenericTakeover
from lib.core.agent import agent class Takeover(GenericTakeover):
from lib.core.common import isTechniqueAvailable def __init__(self):
from lib.core.common import normalizePath self.__basedir = None
from lib.core.common import ntToPosixSlashes self.__datadir = None
from lib.core.common import randomStr
from lib.core.common import readInput GenericTakeover.__init__(self)
from lib.core.data import kb
from lib.core.data import logger
from lib.core.data import paths
from lib.core.enums import PAYLOAD
from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.takeover import Takeover as GenericTakeover
class Takeover(GenericTakeover):
def __init__(self):
self.__basedir = None
self.__datadir = None
GenericTakeover.__init__(self)

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import FIREBIRD_SYSTEM_DBS from lib.core.settings import FIREBIRD_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.firebird.enumeration import Enumeration from plugins.dbms.firebird.enumeration import Enumeration
from plugins.dbms.firebird.filesystem import Filesystem from plugins.dbms.firebird.filesystem import Filesystem
from plugins.dbms.firebird.fingerprint import Fingerprint from plugins.dbms.firebird.fingerprint import Fingerprint

View File

@ -15,7 +15,6 @@ except ImportError, _:
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from lib.core.settings import UNICODE_ENCODING from lib.core.settings import UNICODE_ENCODING
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector): class Connector(GenericConnector):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
import re import re
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import getUnicode from lib.core.common import getUnicode
@ -24,8 +23,6 @@ from lib.core.settings import FIREBIRD_ALIASES
from lib.core.settings import METADB_SUFFIX from lib.core.settings import METADB_SUFFIX
from lib.core.settings import UNKNOWN_DBMS_VERSION from lib.core.settings import UNKNOWN_DBMS_VERSION
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import MAXDB_SYSTEM_DBS from lib.core.settings import MAXDB_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.maxdb.enumeration import Enumeration from plugins.dbms.maxdb.enumeration import Enumeration
from plugins.dbms.maxdb.filesystem import Filesystem from plugins.dbms.maxdb.filesystem import Filesystem
from plugins.dbms.maxdb.fingerprint import Fingerprint from plugins.dbms.maxdb.fingerprint import Fingerprint

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -8,16 +8,13 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import isTechniqueAvailable
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import safeSQLIdentificatorNaming from lib.core.common import safeSQLIdentificatorNaming
from lib.core.common import unArrayizeValue
from lib.core.common import unsafeSQLIdentificatorNaming from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.data import queries from lib.core.data import queries
from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapMissingMandatoryOptionException from lib.core.exception import sqlmapMissingMandatoryOptionException
from lib.core.exception import sqlmapNoneDataException from lib.core.exception import sqlmapNoneDataException
from lib.core.settings import CURRENT_DB from lib.core.settings import CURRENT_DB

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -7,13 +7,9 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import re
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import randomInt
from lib.core.common import randomRange
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
@ -22,7 +18,6 @@ from lib.core.session import setDbms
from lib.core.settings import MAXDB_ALIASES from lib.core.settings import MAXDB_ALIASES
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):
@ -140,4 +135,4 @@ class Fingerprint(GenericFingerprint):
conf.db = "USER" conf.db = "USER"
if conf.tbl: if conf.tbl:
conf.tbl = conf.tbl.upper() conf.tbl = conf.tbl.upper()

View File

@ -7,7 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapSyntaxException
from plugins.generic.syntax import Syntax as GenericSyntax from plugins.generic.syntax import Syntax as GenericSyntax
class Syntax(GenericSyntax): class Syntax(GenericSyntax):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import MSSQL_SYSTEM_DBS from lib.core.settings import MSSQL_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.mssqlserver.enumeration import Enumeration from plugins.dbms.mssqlserver.enumeration import Enumeration
from plugins.dbms.mssqlserver.filesystem import Filesystem from plugins.dbms.mssqlserver.filesystem import Filesystem
from plugins.dbms.mssqlserver.fingerprint import Fingerprint from plugins.dbms.mssqlserver.fingerprint import Fingerprint

View File

@ -17,7 +17,6 @@ from lib.core.convert import utf8encode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector): class Connector(GenericConnector):

View File

@ -16,7 +16,6 @@ from lib.core.common import isNoneValue
from lib.core.common import isNumPosStrValue from lib.core.common import isNumPosStrValue
from lib.core.common import isTechniqueAvailable from lib.core.common import isTechniqueAvailable
from lib.core.common import safeSQLIdentificatorNaming from lib.core.common import safeSQLIdentificatorNaming
from lib.core.common import unArrayizeValue
from lib.core.common import unsafeSQLIdentificatorNaming from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb

View File

@ -17,7 +17,6 @@ from lib.core.common import isTechniqueAvailable
from lib.core.common import posixToNtSlashes from lib.core.common import posixToNtSlashes
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapNoneDataException from lib.core.exception import sqlmapNoneDataException

View File

@ -7,7 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import getUnicode from lib.core.common import getUnicode
@ -19,10 +18,7 @@ from lib.core.enums import DBMS
from lib.core.enums import OS from lib.core.enums import OS
from lib.core.session import setDbms from lib.core.session import setDbms
from lib.core.settings import MSSQL_ALIASES from lib.core.settings import MSSQL_ALIASES
from lib.core.settings import UNKNOWN_DBMS_VERSION
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapSyntaxException from lib.core.exception import sqlmapSyntaxException
from plugins.generic.syntax import Syntax as GenericSyntax from plugins.generic.syntax import Syntax as GenericSyntax
class Syntax(GenericSyntax): class Syntax(GenericSyntax):

View File

@ -10,11 +10,9 @@ See the file 'doc/COPYING' for copying permission
import binascii import binascii
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapUnsupportedFeatureException from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.request import inject 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):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import MYSQL_SYSTEM_DBS from lib.core.settings import MYSQL_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.mysql.enumeration import Enumeration from plugins.dbms.mysql.enumeration import Enumeration
from plugins.dbms.mysql.filesystem import Filesystem from plugins.dbms.mysql.filesystem import Filesystem
from plugins.dbms.mysql.fingerprint import Fingerprint from plugins.dbms.mysql.fingerprint import Fingerprint

View File

@ -15,7 +15,6 @@ except ImportError, _:
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector): class Connector(GenericConnector):

View File

@ -18,7 +18,6 @@ from lib.core.enums import PLACE
from lib.core.exception import sqlmapNoneDataException from lib.core.exception import sqlmapNoneDataException
from lib.request import inject from lib.request import inject
from lib.techniques.union.use import unionUse 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):

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
import re import re
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import getUnicode from lib.core.common import getUnicode
@ -19,13 +18,10 @@ from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import OS from lib.core.enums import OS
from lib.core.enums import PLACE
from lib.core.session import setDbms from lib.core.session import setDbms
from lib.core.settings import MYSQL_ALIASES from lib.core.settings import MYSQL_ALIASES
from lib.core.settings import UNKNOWN_DBMS_VERSION from lib.core.settings import UNKNOWN_DBMS_VERSION
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -22,7 +22,6 @@ from lib.core.enums import OS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request from lib.request.connect import Connect as Request
from plugins.generic.takeover import Takeover as GenericTakeover from plugins.generic.takeover import Takeover as GenericTakeover
class Takeover(GenericTakeover): class Takeover(GenericTakeover):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import ORACLE_SYSTEM_DBS from lib.core.settings import ORACLE_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.oracle.enumeration import Enumeration from plugins.dbms.oracle.enumeration import Enumeration
from plugins.dbms.oracle.filesystem import Filesystem from plugins.dbms.oracle.filesystem import Filesystem
from plugins.dbms.oracle.fingerprint import Fingerprint from plugins.dbms.oracle.fingerprint import Fingerprint

View File

@ -12,15 +12,14 @@ try:
except ImportError, _: except ImportError, _:
pass pass
import os import os
from lib.core.convert import utf8encode from lib.core.convert import utf8encode
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
os.environ["NLS_LANG"] = ".AL32UTF8" os.environ["NLS_LANG"] = ".AL32UTF8"
class Connector(GenericConnector): class Connector(GenericConnector):
""" """

View File

@ -7,15 +7,12 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import getLimitRange from lib.core.common import getLimitRange
from lib.core.common import isInferenceAvailable from lib.core.common import isInferenceAvailable
from lib.core.common import isNoneValue from lib.core.common import isNoneValue
from lib.core.common import isNumPosStrValue from lib.core.common import isNumPosStrValue
from lib.core.common import isTechniqueAvailable from lib.core.common import isTechniqueAvailable
from lib.core.common import safeSQLIdentificatorNaming
from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
@ -24,7 +21,6 @@ from lib.core.enums import EXPECTED
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapNoneDataException from lib.core.exception import sqlmapNoneDataException
from lib.request import inject 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):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
import re import re
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.data import conf from lib.core.data import conf
@ -19,8 +18,6 @@ from lib.core.enums import DBMS
from lib.core.session import setDbms from lib.core.session import setDbms
from lib.core.settings import ORACLE_ALIASES from lib.core.settings import ORACLE_ALIASES
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import PGSQL_SYSTEM_DBS from lib.core.settings import PGSQL_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.postgresql.enumeration import Enumeration from plugins.dbms.postgresql.enumeration import Enumeration
from plugins.dbms.postgresql.filesystem import Filesystem from plugins.dbms.postgresql.filesystem import Filesystem
from plugins.dbms.postgresql.fingerprint import Fingerprint from plugins.dbms.postgresql.fingerprint import Fingerprint

View File

@ -17,7 +17,6 @@ except ImportError, _:
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector): class Connector(GenericConnector):

View File

@ -7,7 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.enums import DBMS
from plugins.generic.enumeration import Enumeration as GenericEnumeration from plugins.generic.enumeration import Enumeration as GenericEnumeration
class Enumeration(GenericEnumeration): class Enumeration(GenericEnumeration):

View File

@ -14,7 +14,6 @@ from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapUnsupportedFeatureException from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.request import inject 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):

View File

@ -7,9 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import re
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import getUnicode from lib.core.common import getUnicode
@ -23,8 +20,6 @@ from lib.core.session import setDbms
from lib.core.settings import PGSQL_ALIASES from lib.core.settings import PGSQL_ALIASES
from lib.core.settings import PGSQL_SYSTEM_DBS from lib.core.settings import PGSQL_SYSTEM_DBS
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -15,7 +15,6 @@ from lib.core.data import paths
from lib.core.enums import OS from lib.core.enums import OS
from lib.core.exception import sqlmapUnsupportedFeatureException from lib.core.exception import sqlmapUnsupportedFeatureException
from lib.request import inject 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):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import SQLITE_SYSTEM_DBS from lib.core.settings import SQLITE_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.sqlite.enumeration import Enumeration from plugins.dbms.sqlite.enumeration import Enumeration
from plugins.dbms.sqlite.filesystem import Filesystem from plugins.dbms.sqlite.filesystem import Filesystem
from plugins.dbms.sqlite.fingerprint import Fingerprint from plugins.dbms.sqlite.fingerprint import Fingerprint

View File

@ -17,7 +17,6 @@ from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from lib.core.exception import sqlmapMissingDependence from lib.core.exception import sqlmapMissingDependence
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -7,7 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.data import conf from lib.core.data import conf
@ -18,8 +17,6 @@ from lib.core.session import setDbms
from lib.core.settings import METADB_SUFFIX from lib.core.settings import METADB_SUFFIX
from lib.core.settings import SQLITE_ALIASES from lib.core.settings import SQLITE_ALIASES
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.common import isDBMSVersionAtLeast from lib.core.common import isDBMSVersionAtLeast
from lib.core.exception import sqlmapSyntaxException from lib.core.exception import sqlmapSyntaxException
from plugins.generic.syntax import Syntax as GenericSyntax from plugins.generic.syntax import Syntax as GenericSyntax
class Syntax(GenericSyntax): class Syntax(GenericSyntax):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.settings import SYBASE_SYSTEM_DBS from lib.core.settings import SYBASE_SYSTEM_DBS
from lib.core.unescaper import unescaper from lib.core.unescaper import unescaper
from plugins.dbms.sybase.enumeration import Enumeration from plugins.dbms.sybase.enumeration import Enumeration
from plugins.dbms.sybase.filesystem import Filesystem from plugins.dbms.sybase.filesystem import Filesystem
from plugins.dbms.sybase.fingerprint import Fingerprint from plugins.dbms.sybase.fingerprint import Fingerprint

View File

@ -17,7 +17,6 @@ from lib.core.convert import utf8encode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import logger from lib.core.data import logger
from lib.core.exception import sqlmapConnectionException from lib.core.exception import sqlmapConnectionException
from plugins.generic.connector import Connector as GenericConnector from plugins.generic.connector import Connector as GenericConnector
class Connector(GenericConnector): class Connector(GenericConnector):

View File

@ -12,7 +12,6 @@ from lib.core.common import filterPairValues
from lib.core.common import isTechniqueAvailable from lib.core.common import isTechniqueAvailable
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import safeSQLIdentificatorNaming from lib.core.common import safeSQLIdentificatorNaming
from lib.core.common import unArrayizeValue
from lib.core.common import unsafeSQLIdentificatorNaming from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -7,10 +7,8 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
from lib.core.agent import agent
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import Format from lib.core.common import Format
from lib.core.common import randomInt
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
@ -19,8 +17,6 @@ from lib.core.enums import OS
from lib.core.session import setDbms from lib.core.session import setDbms
from lib.core.settings import SYBASE_ALIASES from lib.core.settings import SYBASE_ALIASES
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from plugins.generic.fingerprint import Fingerprint as GenericFingerprint from plugins.generic.fingerprint import Fingerprint as GenericFingerprint
class Fingerprint(GenericFingerprint): class Fingerprint(GenericFingerprint):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapSyntaxException from lib.core.exception import sqlmapSyntaxException
from plugins.generic.syntax import Syntax as GenericSyntax from plugins.generic.syntax import Syntax as GenericSyntax
class Syntax(GenericSyntax): class Syntax(GenericSyntax):

View File

@ -8,7 +8,6 @@ See the file 'doc/COPYING' for copying permission
""" """
from lib.core.exception import sqlmapUnsupportedFeatureException 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):

View File

@ -8,8 +8,8 @@ See the file 'doc/COPYING' for copying permission
""" """
import re import re
import time
from extra.safe2bin.safe2bin import safechardecode
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.bigarray import BigArray from lib.core.bigarray import BigArray
from lib.core.common import arrayizeValue from lib.core.common import arrayizeValue
@ -18,7 +18,6 @@ from lib.core.common import clearConsoleLine
from lib.core.common import dataToStdout from lib.core.common import dataToStdout
from lib.core.common import filterPairValues from lib.core.common import filterPairValues
from lib.core.common import getLimitRange from lib.core.common import getLimitRange
from lib.core.common import getCompiledRegex
from lib.core.common import getUnicode from lib.core.common import getUnicode
from lib.core.common import isInferenceAvailable from lib.core.common import isInferenceAvailable
from lib.core.common import isNoneValue from lib.core.common import isNoneValue
@ -30,13 +29,11 @@ from lib.core.common import popValue
from lib.core.common import pushValue from lib.core.common import pushValue
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import safeStringFormat
from lib.core.common import safeSQLIdentificatorNaming from lib.core.common import safeSQLIdentificatorNaming
from lib.core.common import singleTimeWarnMessage from lib.core.common import singleTimeWarnMessage
from lib.core.common import strToHex from lib.core.common import strToHex
from lib.core.common import unArrayizeValue from lib.core.common import unArrayizeValue
from lib.core.common import unsafeSQLIdentificatorNaming from lib.core.common import unsafeSQLIdentificatorNaming
from lib.core.convert import safechardecode
from lib.core.convert import utf8decode from lib.core.convert import utf8decode
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb from lib.core.data import kb
@ -60,15 +57,12 @@ from lib.core.session import setOs
from lib.core.settings import CONCAT_ROW_DELIMITER from lib.core.settings import CONCAT_ROW_DELIMITER
from lib.core.settings import CONCAT_VALUE_DELIMITER from lib.core.settings import CONCAT_VALUE_DELIMITER
from lib.core.settings import CURRENT_DB from lib.core.settings import CURRENT_DB
from lib.core.settings import DEFAULT_MSSQL_SCHEMA
from lib.core.settings import MAX_INT from lib.core.settings import MAX_INT
from lib.core.settings import SQL_STATEMENTS from lib.core.settings import SQL_STATEMENTS
from lib.core.shell import autoCompletion from lib.core.shell import autoCompletion
from lib.core.unescaper import unescaper
from lib.core.threads import getCurrentThreadData from lib.core.threads import getCurrentThreadData
from lib.parse.banner import bannerParser from lib.parse.banner import bannerParser
from lib.request import inject from lib.request import inject
from lib.request.connect import Connect as Request
from lib.techniques.brute.use import columnExists from lib.techniques.brute.use import columnExists
from lib.techniques.brute.use import tableExists from lib.techniques.brute.use import tableExists
from lib.utils.hash import attackDumpedTable from lib.utils.hash import attackDumpedTable
@ -499,7 +493,7 @@ class Enumeration:
elif Backend.isDbms(DBMS.ORACLE) or ( Backend.isDbms(DBMS.MYSQL) and kb.data.has_information_schema ): elif Backend.isDbms(DBMS.ORACLE) or ( Backend.isDbms(DBMS.MYSQL) and kb.data.has_information_schema ):
privileges.add(privilege) privileges.add(privilege)
# 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:
if privilege.upper() == "Y": if privilege.upper() == "Y":
@ -522,7 +516,7 @@ class Enumeration:
i += 1 i += 1
privileges.add(privilege) privileges.add(privilege)
if self.__isAdminFromPrivileges(privileges): if self.__isAdminFromPrivileges(privileges):
areAdmins.add(user) areAdmins.add(user)
@ -624,7 +618,7 @@ class Enumeration:
elif Backend.isDbms(DBMS.ORACLE) or ( Backend.isDbms(DBMS.MYSQL) and kb.data.has_information_schema ): elif Backend.isDbms(DBMS.ORACLE) or ( Backend.isDbms(DBMS.MYSQL) and kb.data.has_information_schema ):
privileges.add(privilege) privileges.add(privilege)
# 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(", ", ",")
@ -1425,7 +1419,7 @@ class Enumeration:
raise sqlmapNoneDataException, errMsg raise sqlmapNoneDataException, errMsg
if not validPivotValue: if not validPivotValue:
warnMsg = "no proper pivot column provided (with unique values)." warnMsg = "no proper pivot column provided (with unique values)."
warnMsg += " It's not possible to retrieve all rows." warnMsg += " It's not possible to retrieve all rows."
logger.warn(warnMsg) logger.warn(warnMsg)

View File

@ -10,7 +10,6 @@ See the file 'doc/COPYING' for copying permission
import binascii import binascii
import codecs import codecs
import os import os
import re
from lib.core.agent import agent from lib.core.agent import agent
from lib.core.common import dataToOutFile from lib.core.common import dataToOutFile
@ -19,12 +18,9 @@ from lib.core.common import isTechniqueAvailable
from lib.core.common import randomStr from lib.core.common import randomStr
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import OS
from lib.core.enums import PAYLOAD from lib.core.enums import PAYLOAD
from lib.core.exception import sqlmapFilePathException
from lib.core.exception import sqlmapUndefinedMethod from lib.core.exception import sqlmapUndefinedMethod
from lib.request import inject from lib.request import inject

View File

@ -9,7 +9,6 @@ See the file 'doc/COPYING' for copying permission
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import OS from lib.core.enums import OS
from lib.core.exception import sqlmapUndefinedMethod from lib.core.exception import sqlmapUndefinedMethod

View File

@ -7,8 +7,6 @@ Copyright (c) 2006-2012 sqlmap developers (http://www.sqlmap.org/)
See the file 'doc/COPYING' for copying permission See the file 'doc/COPYING' for copying permission
""" """
import re
from lib.core.common import getCompiledRegex from lib.core.common import getCompiledRegex
from lib.core.common import Backend from lib.core.common import Backend
from lib.core.common import isTechniqueAvailable from lib.core.common import isTechniqueAvailable

View File

@ -14,7 +14,6 @@ from lib.core.common import isTechniqueAvailable
from lib.core.common import readInput from lib.core.common import readInput
from lib.core.common import runningAsAdmin from lib.core.common import runningAsAdmin
from lib.core.data import conf from lib.core.data import conf
from lib.core.data import kb
from lib.core.data import logger from lib.core.data import logger
from lib.core.enums import DBMS from lib.core.enums import DBMS
from lib.core.enums import OS from lib.core.enums import OS

Some files were not shown because too many files have changed in this diff Show More