diff --git a/lib/core/update.py b/lib/core/update.py index fb40e3fc8..0bee6edb6 100644 --- a/lib/core/update.py +++ b/lib/core/update.py @@ -196,135 +196,8 @@ def __updateMSSQLXML(): infoMsg += "last update" logger.info(infoMsg) -def __createFile(pathname, data): - mkpath(os.path.dirname(pathname)) - - fileFP = open(pathname, "wb") - fileFP.write(data) - fileFP.close() - -def __extractZipFile(tempDir, zipFile): - # Check if the saved binary file is really a ZIP file - if zipfile.is_zipfile(zipFile): - sqlmapZipFile = zipfile.ZipFile(zipFile) - else: - raise sqlmapFilePathException, "the downloaded file does not seem to be a ZIP file" - - # Extract each file within the ZIP file in the temporary directory - for info in sqlmapZipFile.infolist(): - if info.filename[-1] != '/': - data = sqlmapZipFile.read(info.filename) - __createFile(os.path.join(tempDir, info.filename), data) - def __updateSqlmap(): - infoMsg = "updating sqlmap" - logger.info(infoMsg) - - debugMsg = "checking if a new version is available" - logger.debug(debugMsg) - - try: - sqlmapNewestVersion, _ = Request.getPage(url=SQLMAP_VERSION_URL, direct=True) - except sqlmapConnectionException, _: - __sqlmapPath = urlparse.urlsplit(SQLMAP_VERSION_URL) - __sqlmapHostname = __sqlmapPath[1] - - warnMsg = "sqlmap was unable to connect to %s" % __sqlmapHostname - warnMsg += ", check your Internet connection and retry" - logger.warn(warnMsg) - - return - - sqlmapNewestVersion = str(sqlmapNewestVersion).replace("\n", "") - - if not re.search("^([\w\.\-]+)$", sqlmapNewestVersion): - errMsg = "sqlmap version is in a wrong syntax" - logger.error(errMsg) - - return - - if sqlmapNewestVersion == VERSION: - infoMsg = "you are already running sqlmap latest stable version" - logger.info(infoMsg) - - return - - elif sqlmapNewestVersion > VERSION: - infoMsg = "sqlmap latest stable version is %s. " % sqlmapNewestVersion - infoMsg += "Going to download it from the SourceForge File List page" - logger.info(infoMsg) - - elif sqlmapNewestVersion < VERSION: - infoMsg = "you are running a version of sqlmap more updated than " - infoMsg += "the latest stable version (%s)" % sqlmapNewestVersion - logger.info(infoMsg) - - return - - sqlmapBinaryStringUrl = SQLMAP_SOURCE_URL % sqlmapNewestVersion - - try: - sqlmapBinaryString, _ = Request.getPage(url=sqlmapBinaryStringUrl, direct=True) - except sqlmapConnectionException, _: - __sqlmapPath = urlparse.urlsplit(sqlmapBinaryStringUrl) - __sqlmapHostname = __sqlmapPath[1] - - warnMsg = "sqlmap was unable to connect to %s" % __sqlmapHostname - warnMsg += ", check your Internet connection and retry" - logger.warn(warnMsg) - - return - - debugMsg = 'saving the sqlmap compressed source to a ZIP file into ' - debugMsg += 'the temporary directory and extract it' - logger.debug(debugMsg) - - tempDir = tempfile.gettempdir() - zipFile = os.path.join(tempDir, "sqlmap-%s.zip" % sqlmapNewestVersion) - __createFile(zipFile, sqlmapBinaryString) - __extractZipFile(tempDir, zipFile) - - # For each file and directory in the temporary directory copy it - # to the sqlmap root path and set right permission - for root, _, files in os.walk(os.path.join(tempDir, "sqlmap-%s" % sqlmapNewestVersion)): - # Just for development release - if '.svn' in root: - continue - - cleanRoot = root.replace(tempDir, "") - cleanRoot = cleanRoot.replace("%ssqlmap-%s" % (os.sep, sqlmapNewestVersion), "") - - if cleanRoot.startswith(os.sep): - cleanRoot = cleanRoot[1:] - - for f in files: - # Just for development release - if f.endswith(".pyc") or f.endswith(".pyo"): - continue - - srcFile = os.path.join(root, f) - dstFile = os.path.join(paths.SQLMAP_ROOT_PATH, os.path.join(cleanRoot, f)) - - if f == "sqlmap.conf" and os.path.exists(dstFile): - infoMsg = "backupping configuration file to '%s.bak'" % dstFile - logger.info(infoMsg) - shutil.move(dstFile, "%s.bak" % dstFile) - - if os.path.exists(dstFile): - debugMsg = "replacing file '%s'" % dstFile - else: - debugMsg = "creating new file '%s'" % dstFile - - logger.debug(debugMsg) - - mkpath(os.path.dirname(dstFile)) - shutil.copy(srcFile, dstFile) - - if f.endswith(".py"): - os.chmod(dstFile, 0755) - - infoMsg = "sqlmap updated successfully" - logger.info(infoMsg) + pass def update(): if not conf.updateAll: diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index e37f7dedd..c42383557 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -395,10 +395,10 @@ def cmdLineParser(): "estimated time of arrival") miscellaneous.add_option("--gpage", dest="googlePage", type="int", - help="Use google dork results from specified page number") + help="Use google dork results from specified page number") miscellaneous.add_option("--update", dest="updateAll", action="store_true", - help="Update sqlmap to the latest stable version") + help="Update Microsoft SQL Server XML signature file") miscellaneous.add_option("--save", dest="saveCmdline", action="store_true", help="Save options on a configuration INI file") diff --git a/sqlmap.conf b/sqlmap.conf index 6e8257039..dc259906c 100644 --- a/sqlmap.conf +++ b/sqlmap.conf @@ -401,7 +401,7 @@ eta = False # Default: 1 googlePage = 1 -# Update sqlmap to the latest stable version. +# Update Microsoft SQL Server XML signature file. # Valid: True or False updateAll = False