From 12fc9442b92e370937ad74fddbc258463c31c5af Mon Sep 17 00:00:00 2001 From: Miroslav Stampar Date: Thu, 25 Oct 2012 10:10:23 +0200 Subject: [PATCH] Tamper function(s) refactoring (really no need for returning headers as they are passed by reference) --- lib/core/agent.py | 2 +- lib/request/connect.py | 2 +- tamper/apostrophemask.py | 4 ++-- tamper/apostrophenullencode.py | 4 ++-- tamper/appendnullbyte.py | 4 ++-- tamper/base64encode.py | 4 ++-- tamper/between.py | 4 ++-- tamper/chardoubleencode.py | 4 ++-- tamper/charencode.py | 4 ++-- tamper/charunicodeencode.py | 4 ++-- tamper/equaltolike.py | 4 ++-- tamper/halfversionedmorekeywords.py | 6 ++---- tamper/ifnull2ifisnull.py | 4 ++-- tamper/modsecurityversioned.py | 4 ++-- tamper/modsecurityzeroversioned.py | 4 ++-- tamper/multiplespaces.py | 4 ++-- tamper/nonrecursivereplacement.py | 4 ++-- tamper/percentage.py | 4 ++-- tamper/randomcase.py | 4 ++-- tamper/randomcomments.py | 4 ++-- tamper/securesphere.py | 4 ++-- tamper/sp_password.py | 4 ++-- tamper/space2comment.py | 4 ++-- tamper/space2dash.py | 4 ++-- tamper/space2hash.py | 4 ++-- tamper/space2morehash.py | 4 ++-- tamper/space2mssqlblank.py | 4 ++-- tamper/space2mssqlhash.py | 4 ++-- tamper/space2mysqlblank.py | 4 ++-- tamper/space2mysqldash.py | 4 ++-- tamper/space2plus.py | 4 ++-- tamper/space2randomblank.py | 4 ++-- tamper/unionalltounion.py | 4 ++-- tamper/unmagicquotes.py | 4 ++-- tamper/versionedkeywords.py | 4 ++-- tamper/versionedmorekeywords.py | 4 ++-- 36 files changed, 70 insertions(+), 72 deletions(-) diff --git a/lib/core/agent.py b/lib/core/agent.py index 07c793dd9..bedc8e33d 100644 --- a/lib/core/agent.py +++ b/lib/core/agent.py @@ -48,7 +48,7 @@ class Agent: if kb.tamperFunctions: for function in kb.tamperFunctions: - query, _ = function(payload=query, headers=None) + query = function(payload=query) return query diff --git a/lib/request/connect.py b/lib/request/connect.py index 5082867f0..9573781da 100644 --- a/lib/request/connect.py +++ b/lib/request/connect.py @@ -587,7 +587,7 @@ class Connect: if payload: if kb.tamperFunctions: for function in kb.tamperFunctions: - payload, auxHeaders = function(payload=payload, headers=auxHeaders) + payload = function(payload=payload, headers=auxHeaders) value = agent.replacePayload(value, payload) diff --git a/tamper/apostrophemask.py b/tamper/apostrophemask.py index 30b880525..dd06afe67 100644 --- a/tamper/apostrophemask.py +++ b/tamper/apostrophemask.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.LOWEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces apostrophe character with its UTF-8 full width counterpart @@ -27,4 +27,4 @@ def tamper(payload, headers): * http://lukasz.pilorz.net/testy/full_width_utf/index.phps """ - return payload.replace('\'', "%EF%BC%87") if payload else payload, headers + return payload.replace('\'', "%EF%BC%87") if payload else payload diff --git a/tamper/apostrophenullencode.py b/tamper/apostrophenullencode.py index 1f0ab0435..f7864a8c4 100644 --- a/tamper/apostrophenullencode.py +++ b/tamper/apostrophenullencode.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.LOWEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces apostrophe character with its illegal double unicode counterpart @@ -21,4 +21,4 @@ def tamper(payload, headers): * Output: AND %00%271%00%27=%00%271%00%27 """ - return payload.replace('\'', "%00%27") if payload else payload, headers + return payload.replace('\'', "%00%27") if payload else payload diff --git a/tamper/appendnullbyte.py b/tamper/appendnullbyte.py index fc3b81e66..9eee21d1e 100644 --- a/tamper/appendnullbyte.py +++ b/tamper/appendnullbyte.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.LOWEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Appends encoded NULL byte character at the end of payload @@ -31,4 +31,4 @@ def tamper(payload, headers): Reference: http://projects.webappsec.org/w/page/13246949/Null-Byte-Injection """ - return "%s%%00" % payload if payload else payload, headers + return "%s%%00" % payload if payload else payload diff --git a/tamper/base64encode.py b/tamper/base64encode.py index a5f58dc44..c76fde99f 100644 --- a/tamper/base64encode.py +++ b/tamper/base64encode.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.LOWEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Base64 all characters in a given payload @@ -23,4 +23,4 @@ def tamper(payload, headers): * Output: MScgQU5EIFNMRUVQKDUpIw== """ - return base64.b64encode(payload) if payload else payload, headers + return base64.b64encode(payload) if payload else payload diff --git a/tamper/between.py b/tamper/between.py index c150be767..a536a7ccb 100644 --- a/tamper/between.py +++ b/tamper/between.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.HIGHEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces greater than operator ('>') with 'NOT BETWEEN 0 AND #' @@ -61,4 +61,4 @@ def tamper(payload, headers): retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/chardoubleencode.py b/tamper/chardoubleencode.py index 0600a0295..35ac1a8aa 100644 --- a/tamper/chardoubleencode.py +++ b/tamper/chardoubleencode.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.LOW def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Double url-encodes all characters in a given payload (not processing already encoded) @@ -43,4 +43,4 @@ def tamper(payload, headers): retVal += '%%25%.2X' % ord(payload[i]) i += 1 - return retVal, headers + return retVal diff --git a/tamper/charencode.py b/tamper/charencode.py index bb1f6e0d4..1137f01b2 100644 --- a/tamper/charencode.py +++ b/tamper/charencode.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.LOWEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Url-encodes all characters in a given payload (not processing already encoded) @@ -50,4 +50,4 @@ def tamper(payload, headers): retVal += '%%%.2X' % ord(payload[i]) i += 1 - return retVal, headers + return retVal diff --git a/tamper/charunicodeencode.py b/tamper/charunicodeencode.py index 156817420..71d0eb2bc 100644 --- a/tamper/charunicodeencode.py +++ b/tamper/charunicodeencode.py @@ -16,7 +16,7 @@ __priority__ = PRIORITY.LOWEST def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against ASP or ASP.NET web applications" % os.path.basename(__file__).split(".")[0]) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Unicode-url-encodes non-encoded characters in a given payload (not processing already encoded) @@ -55,4 +55,4 @@ def tamper(payload, headers): retVal += '%%u%.4X' % ord(payload[i]) i += 1 - return retVal, headers + return retVal diff --git a/tamper/equaltolike.py b/tamper/equaltolike.py index a9c2719c2..07cb2cdba 100644 --- a/tamper/equaltolike.py +++ b/tamper/equaltolike.py @@ -17,7 +17,7 @@ __priority__ = PRIORITY.HIGHEST def dependencies(): singleTimeWarnMessage("tamper script '%s' is unlikely to work against %s" % (os.path.basename(__file__).split(".")[0], DBMS.PGSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces all occurances of operator equal ('=') with operator 'LIKE' @@ -47,4 +47,4 @@ def tamper(payload, headers): if payload: retVal = re.sub(r"\s*=\s*", lambda match: process(match), retVal) - return retVal, headers + return retVal diff --git a/tamper/halfversionedmorekeywords.py b/tamper/halfversionedmorekeywords.py index 1eed66dc6..f98d665c1 100644 --- a/tamper/halfversionedmorekeywords.py +++ b/tamper/halfversionedmorekeywords.py @@ -1,8 +1,6 @@ #!/usr/bin/env python """ -$Id$ - Copyright (c) 2006-2012 sqlmap developers (http://sqlmap.org/) See the file 'doc/COPYING' for copying permission """ @@ -21,7 +19,7 @@ __priority__ = PRIORITY.HIGHER def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s < 5.1" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Adds versioned MySQL comment before each keyword @@ -55,4 +53,4 @@ def tamper(payload, headers): retVal = re.sub(r"(?<=\W)(?P[A-Za-z_]+)(?=\W|\Z)", lambda match: process(match), retVal) retVal = retVal.replace(" /*!0", "/*!0") - return retVal, headers + return retVal diff --git a/tamper/ifnull2ifisnull.py b/tamper/ifnull2ifisnull.py index 7e807f609..ca798da7e 100644 --- a/tamper/ifnull2ifisnull.py +++ b/tamper/ifnull2ifisnull.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.HIGHEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces instances like 'IFNULL(A, B)' with 'IF(ISNULL(A), B, A)' @@ -61,4 +61,4 @@ def tamper(payload, headers): else: break - return payload, headers + return payload diff --git a/tamper/modsecurityversioned.py b/tamper/modsecurityversioned.py index 263858cee..8e77433e8 100644 --- a/tamper/modsecurityversioned.py +++ b/tamper/modsecurityversioned.py @@ -13,7 +13,7 @@ __priority__ = PRIORITY.HIGHER def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Embraces complete query with versioned comment @@ -43,4 +43,4 @@ def tamper(payload, headers): if ' ' in payload: retVal = "%s /*!30%s%s*/%s" % (payload[:payload.find(' ')], randomInt(3), payload[payload.find(' ') + 1:], postfix) - return retVal, headers + return retVal diff --git a/tamper/modsecurityzeroversioned.py b/tamper/modsecurityzeroversioned.py index 3e92520e6..0886c86ac 100644 --- a/tamper/modsecurityzeroversioned.py +++ b/tamper/modsecurityzeroversioned.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.HIGHER def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Embraces complete query with zero-versioned comment @@ -42,4 +42,4 @@ def tamper(payload, headers): if ' ' in payload: retVal = "%s /*!00000%s*/%s" % (payload[:payload.find(' ')], payload[payload.find(' ') + 1:], postfix) - return retVal, headers + return retVal diff --git a/tamper/multiplespaces.py b/tamper/multiplespaces.py index c2a32b298..f7eaac6ed 100644 --- a/tamper/multiplespaces.py +++ b/tamper/multiplespaces.py @@ -16,7 +16,7 @@ __priority__ = PRIORITY.NORMAL def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Adds multiple spaces around SQL keywords @@ -46,4 +46,4 @@ def tamper(payload, headers): retVal = re.sub("(?<=\W)%s(?=[^A-Za-z_(]|\Z)" % word, "%s%s%s" % (' '*random.randrange(1,4), word, ' '*random.randrange(1,4)), retVal) retVal = re.sub("(?<=\W)%s(?=[(])" % word, "%s%s" % (' '*random.randrange(1,4), word), retVal) - return retVal, headers + return retVal diff --git a/tamper/nonrecursivereplacement.py b/tamper/nonrecursivereplacement.py index 5edf0d5d2..3c0049c84 100644 --- a/tamper/nonrecursivereplacement.py +++ b/tamper/nonrecursivereplacement.py @@ -13,7 +13,7 @@ from lib.core.enums import PRIORITY __priority__ = PRIORITY.NORMAL -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces predefined SQL keywords with representations suitable for replacement (e.g. .replace("SELECT", "")) filters @@ -38,4 +38,4 @@ def tamper(payload, headers): _ = random.randint(1, len(keyword) - 1) retVal = re.sub(r"(?i)\b%s\b" % keyword, "%s%s%s" % (keyword[:_], keyword, keyword[_:]), retVal) - return retVal, headers + return retVal diff --git a/tamper/percentage.py b/tamper/percentage.py index 9877f50ab..d1ebe183f 100644 --- a/tamper/percentage.py +++ b/tamper/percentage.py @@ -16,7 +16,7 @@ __priority__ = PRIORITY.LOW def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against ASP web applications" % os.path.basename(__file__).split(".")[0]) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Adds a percentage sign ('%') infront of each character @@ -51,4 +51,4 @@ def tamper(payload, headers): retVal += payload[i] i += 1 - return retVal, headers + return retVal diff --git a/tamper/randomcase.py b/tamper/randomcase.py index b14b04214..8685eb683 100644 --- a/tamper/randomcase.py +++ b/tamper/randomcase.py @@ -16,7 +16,7 @@ __priority__ = PRIORITY.NORMAL def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces each keyword character with random case value @@ -50,4 +50,4 @@ def tamper(payload, headers): retVal = retVal.replace(word, _) - return retVal, headers + return retVal diff --git a/tamper/randomcomments.py b/tamper/randomcomments.py index 0eff4cc97..6700ff448 100644 --- a/tamper/randomcomments.py +++ b/tamper/randomcomments.py @@ -13,7 +13,7 @@ from lib.core.enums import PRIORITY __priority__ = PRIORITY.LOW -def tamper(payload, headers): +def tamper(payload, headers=None): """ Add random comments to SQL keywords Example: 'INSERT' becomes 'IN/**/S/**/ERT' @@ -37,4 +37,4 @@ def tamper(payload, headers): _ += word[-1] retVal = retVal.replace(word, _) - return retVal, headers + return retVal diff --git a/tamper/securesphere.py b/tamper/securesphere.py index 39909f466..17755a51e 100644 --- a/tamper/securesphere.py +++ b/tamper/securesphere.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.NORMAL def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Appends special crafted string @@ -27,4 +27,4 @@ def tamper(payload, headers): * Reference: http://seclists.org/fulldisclosure/2011/May/163 """ - return payload + " and '0having'='0having'" if payload else payload, headers + return payload + " and '0having'='0having'" if payload else payload diff --git a/tamper/sp_password.py b/tamper/sp_password.py index c8f862222..7f35ba169 100644 --- a/tamper/sp_password.py +++ b/tamper/sp_password.py @@ -9,7 +9,7 @@ from lib.core.enums import PRIORITY __priority__ = PRIORITY.HIGH -def tamper(payload, headers): +def tamper(payload, headers=None): """ Appends 'sp_password' to the end of the payload for automatic obfuscation from DBMS logs @@ -30,4 +30,4 @@ def tamper(payload, headers): if payload: retVal = "%s%ssp_password" % (payload, "-- " if not any(_ if _ in payload else None for _ in ('#', "-- ")) else "") - return retVal, headers + return retVal diff --git a/tamper/space2comment.py b/tamper/space2comment.py index 3cf4be401..13392f072 100644 --- a/tamper/space2comment.py +++ b/tamper/space2comment.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.LOW def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with comments '/**/' @@ -55,4 +55,4 @@ def tamper(payload, headers): retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2dash.py b/tamper/space2dash.py index e7c1a7f53..acbb69cde 100644 --- a/tamper/space2dash.py +++ b/tamper/space2dash.py @@ -12,7 +12,7 @@ from lib.core.enums import PRIORITY __priority__ = PRIORITY.LOW -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a dash comment ('--') followed by a random string and a new line ('\n') @@ -46,4 +46,4 @@ def tamper(payload, headers): else: retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2hash.py b/tamper/space2hash.py index d0a92c8f0..a80c43b5c 100644 --- a/tamper/space2hash.py +++ b/tamper/space2hash.py @@ -18,7 +18,7 @@ __priority__ = PRIORITY.LOW def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a pound character ('#') followed by a random string and a new line ('\n') @@ -52,4 +52,4 @@ def tamper(payload, headers): else: retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2morehash.py b/tamper/space2morehash.py index 2400266b4..55937a7a8 100644 --- a/tamper/space2morehash.py +++ b/tamper/space2morehash.py @@ -21,7 +21,7 @@ __priority__ = PRIORITY.LOW def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s > 5.1.13" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a pound character ('#') followed by a random string and a new line ('\n') @@ -66,4 +66,4 @@ def tamper(payload, headers): else: retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2mssqlblank.py b/tamper/space2mssqlblank.py index fe02de15f..8658e276e 100644 --- a/tamper/space2mssqlblank.py +++ b/tamper/space2mssqlblank.py @@ -17,7 +17,7 @@ __priority__ = PRIORITY.LOW def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s" % (os.path.basename(__file__).split(".")[0], DBMS.MSSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a random blank character from a valid set of alternate characters @@ -86,4 +86,4 @@ def tamper(payload, headers): retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2mssqlhash.py b/tamper/space2mssqlhash.py index e6c9c92b2..0d3602aba 100644 --- a/tamper/space2mssqlhash.py +++ b/tamper/space2mssqlhash.py @@ -9,7 +9,7 @@ from lib.core.enums import PRIORITY __priority__ = PRIORITY.LOW -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a pound character ('#') followed by a new line ('\n') @@ -38,4 +38,4 @@ def tamper(payload, headers): else: retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2mysqlblank.py b/tamper/space2mysqlblank.py index f699b40ab..e0ea098eb 100644 --- a/tamper/space2mysqlblank.py +++ b/tamper/space2mysqlblank.py @@ -17,7 +17,7 @@ __priority__ = PRIORITY.LOW def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a random blank character from a valid set of alternate characters @@ -69,4 +69,4 @@ def tamper(payload, headers): retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2mysqldash.py b/tamper/space2mysqldash.py index b4dbf0e22..00a3d9a29 100644 --- a/tamper/space2mysqldash.py +++ b/tamper/space2mysqldash.py @@ -16,7 +16,7 @@ __priority__ = PRIORITY.LOW def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a dash comment ('--') followed by a new line ('\n') @@ -47,4 +47,4 @@ def tamper(payload, headers): else: retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2plus.py b/tamper/space2plus.py index 0c863682d..2497e460c 100644 --- a/tamper/space2plus.py +++ b/tamper/space2plus.py @@ -12,7 +12,7 @@ __priority__ = PRIORITY.LOW def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with plus ('+') @@ -51,4 +51,4 @@ def tamper(payload, headers): retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/space2randomblank.py b/tamper/space2randomblank.py index 54b6f7aed..0b410dc63 100644 --- a/tamper/space2randomblank.py +++ b/tamper/space2randomblank.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.LOW def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces space character (' ') with a random blank character from a valid set of alternate characters @@ -64,4 +64,4 @@ def tamper(payload, headers): retVal += payload[i] - return retVal, headers + return retVal diff --git a/tamper/unionalltounion.py b/tamper/unionalltounion.py index df5bf6e30..1dd6cda11 100644 --- a/tamper/unionalltounion.py +++ b/tamper/unionalltounion.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.HIGHEST def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces UNION ALL SELECT with UNION SELECT @@ -23,4 +23,4 @@ def tamper(payload, headers): * Output: -1 UNION SELECT """ - return payload.replace("UNION ALL SELECT", "UNION SELECT") if payload else payload, headers + return payload.replace("UNION ALL SELECT", "UNION SELECT") if payload else payload diff --git a/tamper/unmagicquotes.py b/tamper/unmagicquotes.py index 89347a702..4b884f276 100644 --- a/tamper/unmagicquotes.py +++ b/tamper/unmagicquotes.py @@ -14,7 +14,7 @@ __priority__ = PRIORITY.NORMAL def dependencies(): pass -def tamper(payload, headers): +def tamper(payload, headers=None): """ Replaces quote character (') with a multi-byte combo %bf%27 together with generic comment at the end (to make it work) @@ -48,4 +48,4 @@ def tamper(payload, headers): retVal = re.sub("\s*(AND|OR)[\s(]+'[^']+'\s*(=|LIKE)\s*'.*", "", retVal) retVal += "-- " - return retVal, headers + return retVal diff --git a/tamper/versionedkeywords.py b/tamper/versionedkeywords.py index 650ca5cc7..8c6437b24 100644 --- a/tamper/versionedkeywords.py +++ b/tamper/versionedkeywords.py @@ -18,7 +18,7 @@ __priority__ = PRIORITY.HIGHER def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Encloses each non-function keyword with versioned MySQL comment @@ -50,4 +50,4 @@ def tamper(payload, headers): retVal = re.sub(r"(?<=\W)(?P[A-Za-z_]+)(?=[^\w(]|\Z)", lambda match: process(match), retVal) retVal = retVal.replace(" /*!", "/*!").replace("*/ ", "*/") - return retVal, headers + return retVal diff --git a/tamper/versionedmorekeywords.py b/tamper/versionedmorekeywords.py index 322d9b5af..ac7821daf 100644 --- a/tamper/versionedmorekeywords.py +++ b/tamper/versionedmorekeywords.py @@ -19,7 +19,7 @@ __priority__ = PRIORITY.HIGHER def dependencies(): singleTimeWarnMessage("tamper script '%s' is only meant to be run against %s >= 5.1.13" % (os.path.basename(__file__).split(".")[0], DBMS.MYSQL)) -def tamper(payload, headers): +def tamper(payload, headers=None): """ Encloses each keyword with versioned MySQL comment @@ -51,4 +51,4 @@ def tamper(payload, headers): retVal = re.sub(r"(?<=\W)(?P[A-Za-z_]+)(?=\W|\Z)", lambda match: process(match), retVal) retVal = retVal.replace(" /*!", "/*!").replace("*/ ", "*/") - return retVal, headers + return retVal