mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-11-04 18:07:46 +03:00 
			
		
		
		
	Patch for sporadic --parse-errors in generic SQL errors (e.g. CrateDB)
This commit is contained in:
		
							parent
							
								
									db126af86a
								
							
						
					
					
						commit
						4278bbce11
					
				| 
						 | 
					@ -2703,6 +2703,12 @@ def extractErrorMessage(page):
 | 
				
			||||||
                    retVal = candidate
 | 
					                    retVal = candidate
 | 
				
			||||||
                    break
 | 
					                    break
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if not retVal and wasLastResponseDBMSError():
 | 
				
			||||||
 | 
					            match = re.search(r"[^\n]*SQL[^\n:]*:[^\n]*", page, re.IGNORECASE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            if match:
 | 
				
			||||||
 | 
					                retVal = match.group(0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return retVal
 | 
					    return retVal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def findLocalPort(ports):
 | 
					def findLocalPort(ports):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@ from lib.core.enums import OS
 | 
				
			||||||
from thirdparty.six import unichr as _unichr
 | 
					from thirdparty.six import unichr as _unichr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
 | 
					# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
 | 
				
			||||||
VERSION = "1.4.2.5"
 | 
					VERSION = "1.4.2.6"
 | 
				
			||||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
 | 
					TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
 | 
				
			||||||
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
 | 
					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)
 | 
					VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -73,6 +73,10 @@ def htmlParser(page):
 | 
				
			||||||
    handler = HTMLHandler(page)
 | 
					    handler = HTMLHandler(page)
 | 
				
			||||||
    key = hash(page)
 | 
					    key = hash(page)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # generic SQL warning/error messages
 | 
				
			||||||
 | 
					    if re.search(r"SQL (warning|error|syntax)", page, re.I):
 | 
				
			||||||
 | 
					        handler._markAsErrorPage()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if key in kb.cache.parsedDbms:
 | 
					    if key in kb.cache.parsedDbms:
 | 
				
			||||||
        retVal = kb.cache.parsedDbms[key]
 | 
					        retVal = kb.cache.parsedDbms[key]
 | 
				
			||||||
        if retVal:
 | 
					        if retVal:
 | 
				
			||||||
| 
						 | 
					@ -89,8 +93,4 @@ def htmlParser(page):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    kb.cache.parsedDbms[key] = handler.dbms
 | 
					    kb.cache.parsedDbms[key] = handler.dbms
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # generic SQL warning/error messages
 | 
					 | 
				
			||||||
    if re.search(r"SQL (warning|error|syntax)", page, re.I):
 | 
					 | 
				
			||||||
        handler._markAsErrorPage()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return handler.dbms
 | 
					    return handler.dbms
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user