mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-10-30 23:47:45 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			39 lines
		
	
	
		
			933 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			933 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python
 | |
| 
 | |
| """
 | |
| Copyright (c) 2006-2016 sqlmap developers (http://sqlmap.org/)
 | |
| See the file 'doc/COPYING' for copying permission
 | |
| """
 | |
| 
 | |
| import re
 | |
| 
 | |
| from lib.core.exception import SqlmapUndefinedMethod
 | |
| 
 | |
| class Syntax:
 | |
|     """
 | |
|     This class defines generic syntax functionalities for plugins.
 | |
|     """
 | |
| 
 | |
|     def __init__(self):
 | |
|         pass
 | |
| 
 | |
|     @staticmethod
 | |
|     def _escape(expression, quote=True, escaper=None):
 | |
|         retVal = expression
 | |
| 
 | |
|         if quote:
 | |
|             for item in re.findall(r"'[^']*'+", expression, re.S):
 | |
|                 _ = item[1:-1]
 | |
|                 if _:
 | |
|                     retVal = retVal.replace(item, escaper(_))
 | |
|         else:
 | |
|             retVal = escaper(expression)
 | |
| 
 | |
|         return retVal
 | |
| 
 | |
|     @staticmethod
 | |
|     def escape(expression, quote=True):
 | |
|         errMsg = "'escape' method must be defined "
 | |
|         errMsg += "inside the specific DBMS plugin"
 | |
|         raise SqlmapUndefinedMethod(errMsg)
 |