同步操作将从 yeqingchen1/sqlmap 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env python"""Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)See the file 'LICENSE' for copying permission"""from lib.controller.handler import setHandlerfrom lib.core.common import Backendfrom lib.core.common import Formatfrom lib.core.data import conffrom lib.core.data import kbfrom lib.core.data import loggerfrom lib.core.data import pathsfrom lib.core.enums import CONTENT_TYPEfrom lib.core.exception import SqlmapNoneDataExceptionfrom lib.core.exception import SqlmapUnsupportedDBMSExceptionfrom lib.core.settings import SUPPORTED_DBMSfrom lib.utils.brute import columnExistsfrom lib.utils.brute import fileExistsfrom lib.utils.brute import tableExistsdef action():"""This function exploit the SQL injection on the affectedURL parameter and extract requested data from theback-end database management system or operating systemif possible"""# First of all we have to identify the back-end database management# system to be able to go ahead with the injectionsetHandler()if not Backend.getDbms() or not conf.dbmsHandler:htmlParsed = Format.getErrorParsedDBMSes()errMsg = "sqlmap was not able to fingerprint the "errMsg += "back-end database management system"if htmlParsed:errMsg += ", but from the HTML error page it was "errMsg += "possible to determinate that the "errMsg += "back-end DBMS is %s" % htmlParsedif htmlParsed and htmlParsed.lower() in SUPPORTED_DBMS:errMsg += ". Do not specify the back-end DBMS manually, "errMsg += "sqlmap will fingerprint the DBMS for you"elif kb.nullConnection:errMsg += ". You can try to rerun without using optimization "errMsg += "switch '%s'" % ("-o" if conf.optimize else "--null-connection")raise SqlmapUnsupportedDBMSException(errMsg)conf.dumper.singleString(conf.dbmsHandler.getFingerprint())# Enumeration optionsif conf.getBanner:conf.dumper.banner(conf.dbmsHandler.getBanner())if conf.getCurrentUser:conf.dumper.currentUser(conf.dbmsHandler.getCurrentUser())if conf.getCurrentDb:conf.dumper.currentDb(conf.dbmsHandler.getCurrentDb())if conf.getHostname:conf.dumper.hostname(conf.dbmsHandler.getHostname())if conf.isDba:conf.dumper.dba(conf.dbmsHandler.isDba())if conf.getUsers:conf.dumper.users(conf.dbmsHandler.getUsers())if conf.getStatements:conf.dumper.statements(conf.dbmsHandler.getStatements())if conf.getPasswordHashes:try:conf.dumper.userSettings("database management system users password hashes", conf.dbmsHandler.getPasswordHashes(), "password hash", CONTENT_TYPE.PASSWORDS)except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getPrivileges:try:conf.dumper.userSettings("database management system users privileges", conf.dbmsHandler.getPrivileges(), "privilege", CONTENT_TYPE.PRIVILEGES)except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getRoles:try:conf.dumper.userSettings("database management system users roles", conf.dbmsHandler.getRoles(), "role", CONTENT_TYPE.ROLES)except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getDbs:try:conf.dumper.dbs(conf.dbmsHandler.getDbs())except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getTables:try:conf.dumper.dbTables(conf.dbmsHandler.getTables())except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.commonTables:try:conf.dumper.dbTables(tableExists(paths.COMMON_TABLES))except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getSchema:try:conf.dumper.dbTableColumns(conf.dbmsHandler.getSchema(), CONTENT_TYPE.SCHEMA)except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getColumns:try:conf.dumper.dbTableColumns(conf.dbmsHandler.getColumns(), CONTENT_TYPE.COLUMNS)except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.getCount:try:conf.dumper.dbTablesCount(conf.dbmsHandler.getCount())except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.commonColumns:try:conf.dumper.dbTableColumns(columnExists(paths.COMMON_COLUMNS))except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.dumpTable:try:conf.dbmsHandler.dumpTable()except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.dumpAll:try:conf.dbmsHandler.dumpAll()except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.search:try:conf.dbmsHandler.search()except SqlmapNoneDataException as ex:logger.critical(ex)except:raiseif conf.sqlQuery:conf.dumper.sqlQuery(conf.sqlQuery, conf.dbmsHandler.sqlQuery(conf.sqlQuery))if conf.sqlShell:conf.dbmsHandler.sqlShell()if conf.sqlFile:conf.dbmsHandler.sqlFile()# User-defined function optionsif conf.udfInject:conf.dbmsHandler.udfInjectCustom()# File system optionsif conf.fileRead:conf.dumper.rFile(conf.dbmsHandler.readFile(conf.fileRead))if conf.fileWrite:conf.dbmsHandler.writeFile(conf.fileWrite, conf.fileDest, conf.fileWriteType)if conf.commonFiles:try:conf.dumper.rFile(fileExists(paths.COMMON_FILES))except SqlmapNoneDataException as ex:logger.critical(ex)except:raise# Operating system optionsif conf.osCmd:conf.dbmsHandler.osCmd()if conf.osShell:conf.dbmsHandler.osShell()if conf.osPwn:conf.dbmsHandler.osPwn()if conf.osSmb:conf.dbmsHandler.osSmb()if conf.osBof:conf.dbmsHandler.osBof()# Windows registry optionsif conf.regRead:conf.dumper.registerValue(conf.dbmsHandler.regRead())if conf.regAdd:conf.dbmsHandler.regAdd()if conf.regDel:conf.dbmsHandler.regDel()# Miscellaneous optionsif conf.cleanup:conf.dbmsHandler.cleanup()if conf.direct:conf.dbmsConnector.close()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。