diff --git a/data/xml/livetests.xml b/data/xml/livetests.xml index 876b63fe9..b30b9b290 100644 --- a/data/xml/livetests.xml +++ b/data/xml/livetests.xml @@ -18,7 +18,7 @@ - + @@ -39,7 +39,7 @@ - + @@ -82,7 +82,7 @@ - + @@ -126,7 +126,7 @@ - + @@ -170,7 +170,7 @@ - + @@ -213,7 +213,7 @@ - + @@ -228,7 +228,7 @@ - + @@ -272,7 +272,7 @@ - + @@ -314,7 +314,7 @@ - + @@ -357,7 +357,7 @@ - + @@ -400,7 +400,7 @@ - + @@ -442,7 +442,7 @@ - + @@ -456,7 +456,7 @@ - + @@ -471,7 +471,7 @@ - + @@ -514,7 +514,7 @@ - + @@ -555,7 +555,7 @@ - + @@ -598,7 +598,7 @@ - + @@ -641,7 +641,7 @@ - + @@ -684,7 +684,7 @@ - + @@ -699,7 +699,7 @@ - + @@ -742,7 +742,7 @@ - + @@ -785,7 +785,7 @@ - + @@ -818,7 +818,7 @@ - + @@ -851,7 +851,7 @@ - + @@ -884,7 +884,7 @@ - + @@ -917,7 +917,7 @@ - + @@ -950,7 +950,7 @@ - + @@ -981,7 +981,7 @@ - + @@ -998,7 +998,7 @@ - + @@ -1031,7 +1031,7 @@ - + @@ -1071,7 +1071,7 @@ - + @@ -1110,7 +1110,7 @@ - + @@ -1148,7 +1148,7 @@ - + @@ -1186,7 +1186,7 @@ - + @@ -1203,7 +1203,7 @@ - + @@ -1245,7 +1245,7 @@ - + @@ -1263,7 +1263,7 @@ - + @@ -1281,7 +1281,7 @@ - + @@ -1297,7 +1297,7 @@ - + @@ -1315,7 +1315,7 @@ - + @@ -1333,7 +1333,7 @@ - + @@ -1349,7 +1349,7 @@ - + @@ -1367,7 +1367,7 @@ - + @@ -1385,7 +1385,7 @@ - + @@ -1401,7 +1401,7 @@ - + @@ -1418,7 +1418,7 @@ - + @@ -1435,7 +1435,7 @@ - + @@ -1451,7 +1451,7 @@ - + @@ -1468,7 +1468,7 @@ - + @@ -1486,7 +1486,7 @@ - + @@ -1498,7 +1498,7 @@ - + @@ -1511,7 +1511,7 @@ - + @@ -1523,7 +1523,7 @@ - + @@ -1536,7 +1536,7 @@ - + @@ -1548,7 +1548,7 @@ - + @@ -1561,7 +1561,7 @@ - + @@ -1573,7 +1573,7 @@ - + @@ -1586,7 +1586,7 @@ - + @@ -1598,7 +1598,7 @@ - + @@ -1611,7 +1611,7 @@ - + @@ -1623,7 +1623,7 @@ - + @@ -1636,7 +1636,7 @@ - + @@ -1648,7 +1648,7 @@ - + @@ -1661,7 +1661,7 @@ - + @@ -1673,7 +1673,7 @@ - + @@ -1686,7 +1686,7 @@ - + @@ -1698,7 +1698,7 @@ - + @@ -1711,7 +1711,7 @@ - + @@ -1723,7 +1723,7 @@ - + @@ -1736,7 +1736,7 @@ - + @@ -1748,7 +1748,7 @@ - + @@ -1760,7 +1760,7 @@ - + @@ -1772,7 +1772,7 @@ - + @@ -1788,7 +1788,7 @@ - + @@ -1800,7 +1800,7 @@ - + @@ -1812,7 +1812,7 @@ - + @@ -1824,7 +1824,7 @@ - + @@ -1838,7 +1838,7 @@ - + @@ -1852,7 +1852,7 @@ - + @@ -1866,7 +1866,7 @@ - + @@ -1879,7 +1879,7 @@ - + @@ -1892,7 +1892,7 @@ - + @@ -1905,7 +1905,7 @@ - + @@ -1919,7 +1919,7 @@ - + @@ -1933,7 +1933,7 @@ - + @@ -1947,7 +1947,7 @@ - + @@ -1962,7 +1962,7 @@ - + @@ -1977,7 +1977,7 @@ - + @@ -1992,7 +1992,7 @@ - + @@ -2007,7 +2007,7 @@ - + @@ -2022,7 +2022,7 @@ - + @@ -2037,7 +2037,7 @@ - + @@ -2052,7 +2052,7 @@ - + @@ -2067,7 +2067,7 @@ - + @@ -2082,7 +2082,7 @@ - + @@ -2094,7 +2094,7 @@ - + @@ -2106,7 +2106,7 @@ - + @@ -2118,7 +2118,7 @@ - + @@ -2132,7 +2132,7 @@ - + @@ -2146,7 +2146,7 @@ - + @@ -2160,7 +2160,7 @@ - + @@ -2173,7 +2173,7 @@ - + @@ -2186,7 +2186,7 @@ - + @@ -2199,7 +2199,7 @@ - + @@ -2213,7 +2213,7 @@ - + @@ -2227,7 +2227,7 @@ - + @@ -2241,7 +2241,7 @@ - + @@ -2256,7 +2256,7 @@ - + @@ -2271,7 +2271,7 @@ - + @@ -2286,7 +2286,7 @@ - + @@ -2301,7 +2301,7 @@ - + @@ -2316,7 +2316,7 @@ - + @@ -2331,7 +2331,7 @@ - + @@ -2347,7 +2347,7 @@ - + @@ -2363,7 +2363,7 @@ - + @@ -2379,7 +2379,7 @@ - + @@ -2391,7 +2391,7 @@ - + @@ -2403,7 +2403,7 @@ - + @@ -2415,7 +2415,7 @@ - + @@ -2429,7 +2429,7 @@ - + @@ -2444,7 +2444,7 @@ - + @@ -2459,7 +2459,7 @@ - + @@ -2472,7 +2472,7 @@ - + @@ -2485,7 +2485,7 @@ - + @@ -2498,7 +2498,7 @@ - + @@ -2511,7 +2511,7 @@ - + @@ -2524,7 +2524,7 @@ - + @@ -2537,7 +2537,7 @@ - + @@ -2551,7 +2551,7 @@ - + @@ -2565,7 +2565,7 @@ - + @@ -2579,7 +2579,7 @@ - + @@ -2593,7 +2593,7 @@ - + @@ -2607,7 +2607,7 @@ - + @@ -2621,7 +2621,7 @@ - + @@ -2636,7 +2636,7 @@ - + @@ -2651,7 +2651,7 @@ - + @@ -2666,7 +2666,7 @@ - + @@ -2678,7 +2678,7 @@ - + @@ -2692,7 +2692,7 @@ - + @@ -2705,7 +2705,7 @@ - + @@ -2718,7 +2718,7 @@ - + @@ -2732,7 +2732,7 @@ - + @@ -2746,7 +2746,7 @@ - + @@ -2773,7 +2773,7 @@ - + @@ -2786,7 +2786,7 @@ - + @@ -2811,7 +2811,7 @@ - + @@ -2824,7 +2824,7 @@ - + @@ -2840,7 +2840,7 @@ - + @@ -2851,7 +2851,7 @@ - + @@ -2862,7 +2862,7 @@ - + @@ -2873,7 +2873,7 @@ - + @@ -2884,7 +2884,7 @@ - + @@ -2895,7 +2895,7 @@ - + @@ -2907,7 +2907,7 @@ - + @@ -2918,7 +2918,7 @@ - + @@ -2929,7 +2929,7 @@ - + @@ -2940,7 +2940,7 @@ - + @@ -2951,7 +2951,7 @@ - + @@ -2962,7 +2962,7 @@ - + @@ -2974,7 +2974,7 @@ - + @@ -2985,7 +2985,7 @@ - + @@ -2996,7 +2996,7 @@ - + @@ -3007,7 +3007,7 @@ - + @@ -3018,7 +3018,7 @@ - + @@ -3029,7 +3029,7 @@ - + @@ -3040,7 +3040,7 @@ - + @@ -3051,7 +3051,7 @@ - + @@ -3063,7 +3063,7 @@ - + @@ -3074,7 +3074,7 @@ - + @@ -3085,7 +3085,7 @@ - + @@ -3096,7 +3096,7 @@ - + @@ -3108,7 +3108,7 @@ - + @@ -3119,7 +3119,7 @@ - + @@ -3130,7 +3130,7 @@ - + @@ -3141,7 +3141,7 @@ - + @@ -3155,7 +3155,7 @@ - + @@ -3166,7 +3166,7 @@ - + @@ -3177,7 +3177,7 @@ - + @@ -3189,7 +3189,7 @@ - + @@ -3201,7 +3201,7 @@ - + @@ -3214,7 +3214,7 @@ - + @@ -3226,7 +3226,7 @@ - + @@ -3253,7 +3253,7 @@ - + @@ -3264,7 +3264,7 @@ - + @@ -3276,7 +3276,7 @@ - + @@ -3287,7 +3287,7 @@ - + @@ -3298,7 +3298,7 @@ - + @@ -3314,7 +3314,7 @@ - + @@ -3328,7 +3328,7 @@ - + @@ -3342,7 +3342,7 @@ - + @@ -3353,7 +3353,7 @@ - + @@ -3364,7 +3364,7 @@ - + @@ -3401,7 +3401,7 @@ - + @@ -3412,7 +3412,7 @@ - + @@ -3421,7 +3421,7 @@ - + @@ -3436,7 +3436,7 @@ - + @@ -3454,7 +3454,7 @@ - + @@ -3466,7 +3466,7 @@ - + @@ -3480,7 +3480,7 @@ - + @@ -3493,7 +3493,7 @@ - + @@ -3507,7 +3507,7 @@ - + @@ -3519,7 +3519,7 @@ - + @@ -3564,7 +3564,7 @@ - + @@ -3576,7 +3576,7 @@ - + @@ -3588,7 +3588,7 @@ - + @@ -3599,7 +3599,7 @@ - + @@ -3612,7 +3612,7 @@ - + @@ -3624,7 +3624,7 @@ - + diff --git a/lib/controller/checks.py b/lib/controller/checks.py index 4c791e4d1..6ed0e24a4 100644 --- a/lib/controller/checks.py +++ b/lib/controller/checks.py @@ -220,10 +220,10 @@ def checkSqlInjection(place, parameter, value): # Skip test if the user's wants to test only for a specific # technique - if conf.tech and isinstance(conf.tech, list) and stype not in conf.tech: + if conf.technique and isinstance(conf.technique, list) and stype not in conf.technique: debugMsg = "skipping test '%s' because the user " % title debugMsg += "specified to test only for " - debugMsg += "%s techniques" % " & ".join(PAYLOAD.SQLINJECTION[_] for _ in conf.tech) + debugMsg += "%s techniques" % " & ".join(PAYLOAD.SQLINJECTION[_] for _ in conf.technique) logger.debug(debugMsg) continue diff --git a/lib/controller/controller.py b/lib/controller/controller.py index a17f922e7..6a9941621 100644 --- a/lib/controller/controller.py +++ b/lib/controller/controller.py @@ -429,7 +429,7 @@ def start(): if (len(kb.injections) == 0 or (len(kb.injections) == 1 and kb.injections[0].place is None)) and (kb.injection.place is None or kb.injection.parameter is None): - if not any((conf.string, conf.notString, conf.regexp)) and PAYLOAD.TECHNIQUE.BOOLEAN in conf.tech: + if not any((conf.string, conf.notString, conf.regexp)) and PAYLOAD.TECHNIQUE.BOOLEAN in conf.technique: # NOTE: this is not needed anymore, leaving only to display # a warning message to the user in case the page is not stable checkStability() @@ -533,7 +533,7 @@ def start(): infoMsg = "ignoring %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) logger.info(infoMsg) - elif PAYLOAD.TECHNIQUE.BOOLEAN in conf.tech or conf.skipStatic: + elif PAYLOAD.TECHNIQUE.BOOLEAN in conf.technique or conf.skipStatic: check = checkDynParam(place, parameter, value) if not check: @@ -612,7 +612,7 @@ def start(): errMsg += " Try to increase values for '--level'/'--risk' options " errMsg += "if you wish to perform more tests." - if isinstance(conf.tech, list) and len(conf.tech) < 5: + if isinstance(conf.technique, list) and len(conf.technique) < 5: errMsg += " Rerun without providing the option '--technique'." if not conf.textOnly and kb.originalPage: diff --git a/lib/core/common.py b/lib/core/common.py index b4fc24dab..98ff87302 100644 --- a/lib/core/common.py +++ b/lib/core/common.py @@ -3188,7 +3188,7 @@ def isTechniqueAvailable(technique): >>> kb.injection.data = popValue() """ - if conf.tech and isinstance(conf.tech, list) and technique not in conf.tech: + if conf.technique and isinstance(conf.technique, list) and technique not in conf.technique: return False else: return getTechniqueData(technique) is not None diff --git a/lib/core/defaults.py b/lib/core/defaults.py index 95a7f3ff4..d7a274235 100644 --- a/lib/core/defaults.py +++ b/lib/core/defaults.py @@ -20,7 +20,7 @@ _defaults = { "level": 1, "risk": 1, "dumpFormat": "CSV", - "tech": "BEUSTQ", + "technique": "BEUSTQ", "torType": "SOCKS5", } diff --git a/lib/core/option.py b/lib/core/option.py index b132ab2de..fc244d953 100644 --- a/lib/core/option.py +++ b/lib/core/option.py @@ -662,10 +662,10 @@ def _setTechnique(): validTechniques = sorted(getPublicTypeMembers(PAYLOAD.TECHNIQUE), key=lambda x: x[1]) validLetters = [_[0][0].upper() for _ in validTechniques] - if conf.tech and isinstance(conf.tech, six.string_types): + if conf.technique and isinstance(conf.technique, six.string_types): _ = [] - for letter in conf.tech.upper(): + for letter in conf.technique.upper(): if letter not in validLetters: errMsg = "value for --technique must be a string composed " errMsg += "by the letters %s. Refer to the " % ", ".join(validLetters) @@ -677,7 +677,7 @@ def _setTechnique(): _.append(validInt) break - conf.tech = _ + conf.technique = _ def _setDBMS(): """ @@ -2476,7 +2476,7 @@ def _basicOptionValidation(): errMsg = "option '-d' is incompatible with switch '--tor'" raise SqlmapSyntaxException(errMsg) - if not conf.tech: + if not conf.technique: errMsg = "option '--technique' can't be empty" raise SqlmapSyntaxException(errMsg) diff --git a/lib/core/optiondict.py b/lib/core/optiondict.py index c5d1c2165..a344484a3 100644 --- a/lib/core/optiondict.py +++ b/lib/core/optiondict.py @@ -105,7 +105,7 @@ optDict = { }, "Techniques": { - "tech": "string", + "technique": "string", "timeSec": "integer", "uCols": "string", "uChar": "string", diff --git a/lib/core/settings.py b/lib/core/settings.py index 7993c34a3..6d2ce459a 100644 --- a/lib/core/settings.py +++ b/lib/core/settings.py @@ -18,7 +18,7 @@ from lib.core.enums import OS from thirdparty.six import unichr as _unichr # sqlmap version (...) -VERSION = "1.3.6.29" +VERSION = "1.3.6.30" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE) @@ -296,7 +296,7 @@ BASIC_HELP_ITEMS = ( "dbms", "level", "risk", - "tech", + "technique", "getAll", "getBanner", "getCurrentUser", diff --git a/lib/core/target.py b/lib/core/target.py index 89dd44649..19fc91934 100644 --- a/lib/core/target.py +++ b/lib/core/target.py @@ -458,9 +458,9 @@ def _resumeHashDBValues(): for injection in hashDBRetrieve(HASHDB_KEYS.KB_INJECTIONS, True) or []: if isinstance(injection, InjectionDict) and injection.place in conf.paramDict and injection.parameter in conf.paramDict[injection.place]: - if not conf.tech or intersect(conf.tech, injection.data.keys()): - if intersect(conf.tech, injection.data.keys()): - injection.data = dict(_ for _ in injection.data.items() if _[0] in conf.tech) + if not conf.technique or intersect(conf.technique, injection.data.keys()): + if intersect(conf.technique, injection.data.keys()): + injection.data = dict(_ for _ in injection.data.items() if _[0] in conf.technique) if injection not in kb.injections: kb.injections.append(injection) diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py index ebd6b7ab1..1434b0ecf 100644 --- a/lib/parse/cmdline.py +++ b/lib/parse/cmdline.py @@ -328,8 +328,8 @@ def cmdLineParser(argv=None): # Techniques options techniques = OptionGroup(parser, "Techniques", "These options can be used to tweak testing of specific SQL injection techniques") - techniques.add_option("--technique", dest="tech", - help="SQL injection techniques to use (default \"%s\")" % defaults.tech) + techniques.add_option("--technique", dest="technique", + help="SQL injection techniques to use (default \"%s\")" % defaults.technique) techniques.add_option("--time-sec", dest="timeSec", type="int", help="Seconds to delay the DBMS response (default %d)" % defaults.timeSec) diff --git a/sqlmap.conf b/sqlmap.conf index b3056cc6f..b2defe6ca 100644 --- a/sqlmap.conf +++ b/sqlmap.conf @@ -367,7 +367,7 @@ titles = False # Example: ES (means test for error-based and stacked queries SQL # injection types only) # Default: BEUSTQ (means test for all SQL injection types - recommended) -tech = BEUSTQ +technique = BEUSTQ # Seconds to delay the response from the DBMS. # Valid: integer diff --git a/swagger.yaml b/swagger.yaml index 8a79abb23..806340ab7 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -402,7 +402,7 @@ paths: googleDork: null saveConfig: null sqlShell: false - tech: BEUSTQ + technique: BEUSTQ textOnly: false cookieDel: null commonColumns: false @@ -456,4 +456,4 @@ paths: timeout: 30 externalDocs: description: "Find out more about sqlmap API (REST-JSON)" - url: "https://github.com/sqlmapproject/sqlmap/wiki/Usage#api-rest-json" \ No newline at end of file + url: "https://github.com/sqlmapproject/sqlmap/wiki/Usage#api-rest-json"