SIGN IN SIGN UP
sqlmapproject / sqlmap UNCLAIMED

Automatic SQL injection and database takeover tool

36983 0 0 Python
2019-05-08 12:47:52 +02:00
#!/usr/bin/env python
"""
2026-01-01 19:12:07 +01:00
Copyright (c) 2006-2026 sqlmap developers (https://sqlmap.org)
2017-10-11 14:50:46 +02:00
See the file 'LICENSE' for copying permission
"""
2019-03-28 16:04:38 +01:00
from lib.core.compat import xrange
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.LOW
def dependencies():
pass
2012-12-03 14:27:01 +01:00
def tamper(payload, **kwargs):
"""
Replaces space character (' ') with plus ('+')
Notes:
2018-07-31 01:17:11 +02:00
* Is this any useful? The plus get's url-encoded by sqlmap engine invalidating the query afterwards
* This tamper script works against all databases
>>> tamper('SELECT id FROM users')
'SELECT+id+FROM+users'
"""
2011-04-04 08:18:26 +00:00
retVal = payload
2011-04-04 08:18:26 +00:00
if payload:
retVal = ""
quote, doublequote, firstspace = False, False, False
2011-04-04 08:18:26 +00:00
for i in xrange(len(payload)):
if not firstspace:
2011-04-04 08:18:26 +00:00
if payload[i].isspace():
firstspace = True
retVal += "+"
continue
2011-04-04 08:18:26 +00:00
elif payload[i] == '\'':
quote = not quote
2011-04-04 08:18:26 +00:00
elif payload[i] == '"':
doublequote = not doublequote
2013-01-10 13:18:44 +01:00
elif payload[i] == " " and not doublequote and not quote:
retVal += "+"
continue
2011-04-04 08:18:26 +00:00
retVal += payload[i]
return retVal