2008-10-15 19:38:22 +04:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
|
|
"""
|
2008-10-15 19:56:32 +04:00
|
|
|
$Id$
|
2008-10-15 19:38:22 +04:00
|
|
|
|
2010-10-14 18:41:14 +04:00
|
|
|
Copyright (c) 2006-2010 sqlmap developers (http://sqlmap.sourceforge.net/)
|
2010-10-15 03:18:29 +04:00
|
|
|
See the file 'doc/COPYING' for copying permission
|
2008-10-15 19:38:22 +04:00
|
|
|
"""
|
|
|
|
|
2011-01-20 02:06:15 +03:00
|
|
|
from lib.core.common import backend
|
2010-12-09 19:49:02 +03:00
|
|
|
from lib.core.datatype import advancedDict
|
|
|
|
|
|
|
|
class Unescaper(advancedDict):
|
2011-01-12 02:47:32 +03:00
|
|
|
def unescape(self, expression, quote=True, dbms=None):
|
2011-01-20 02:06:15 +03:00
|
|
|
identifiedDbms = backend.getIdentifiedDbms()
|
2011-01-13 20:36:54 +03:00
|
|
|
|
2011-01-21 00:55:13 +03:00
|
|
|
if not expression:
|
|
|
|
return expression
|
|
|
|
elif "WAITFOR DELAY " in expression:
|
|
|
|
return expression
|
2011-01-12 02:56:04 +03:00
|
|
|
elif dbms is not None:
|
|
|
|
return self[dbms](expression, quote=quote)
|
2011-01-21 00:55:13 +03:00
|
|
|
elif identifiedDbms is not None:
|
|
|
|
return self[identifiedDbms](expression, quote=quote)
|
2011-01-07 18:41:09 +03:00
|
|
|
else:
|
|
|
|
return expression
|
2008-10-15 19:38:22 +04:00
|
|
|
|
|
|
|
unescaper = Unescaper()
|