mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-11-04 09:57:38 +03:00 
			
		
		
		
	Update for Apache Derby (#5315)
This commit is contained in:
		
							parent
							
								
									4357b0087d
								
							
						
					
					
						commit
						c5d7c542a2
					
				| 
						 | 
				
			
			@ -938,8 +938,8 @@
 | 
			
		|||
        <length query="LENGTH(RTRIM(CAST(%s AS CHAR(254))))"/>
 | 
			
		||||
        <isnull query="COALESCE(%s,' ')"/>
 | 
			
		||||
        <delimiter query="||"/>
 | 
			
		||||
        <limit query="{LIMIT %d OFFSET %d}"/>
 | 
			
		||||
        <limitregexp query="{LIMIT\s+([\d]+)\s+OFFSET\s+([\d]+)}"/>
 | 
			
		||||
        <limit query="OFFSET %d ROWS FETCH FIRST %d ROWS ONLY"/>
 | 
			
		||||
        <limitregexp query="OFFSET\s+([\d]+)\s+ROWS\s+FETCH\s+FIRST\s+([\d]+)\s+ROWS\s+ONLY"/>
 | 
			
		||||
        <limitgroupstart query="2"/>
 | 
			
		||||
        <limitgroupstop query="1"/>
 | 
			
		||||
        <limitstring/>
 | 
			
		||||
| 
						 | 
				
			
			@ -962,11 +962,11 @@
 | 
			
		|||
        <is_dba query="(SELECT COUNT(*) FROM SYS.SYSUSERS)>=0"/>
 | 
			
		||||
        <dbs>
 | 
			
		||||
            <inband query="SELECT SCHEMANAME FROM SYS.SYSSCHEMAS"/>
 | 
			
		||||
            <blind query="SELECT SCHEMANAME FROM SYS.SYSSCHEMAS {LIMIT 1 OFFSET %d}" count="SELECT COUNT(SCHEMANAME) FROM SYS.SYSSCHEMAS"/>
 | 
			
		||||
            <blind query="SELECT SCHEMANAME FROM SYS.SYSSCHEMAS OFFSET %d ROWS FETCH FIRST 1 ROW ONLY" count="SELECT COUNT(SCHEMANAME) FROM SYS.SYSSCHEMAS"/>
 | 
			
		||||
        </dbs>
 | 
			
		||||
        <tables>
 | 
			
		||||
            <inband query="SELECT SCHEMANAME,TABLENAME FROM SYS.SYSTABLES JOIN SYS.SYSSCHEMAS ON SYS.SYSTABLES.SCHEMAID=SYS.SYSSCHEMAS.SCHEMAID" condition="SCHEMANAME"/>
 | 
			
		||||
            <blind query="SELECT TABLENAME FROM SYS.SYSTABLES JOIN SYS.SYSSCHEMAS ON SYS.SYSTABLES.SCHEMAID=SYS.SYSSCHEMAS.SCHEMAID WHERE SCHEMANAME='%s' {LIMIT 1 OFFSET %d}" count="SELECT COUNT(TABLENAME) FROM SYS.SYSTABLES JOIN SYS.SYSSCHEMAS ON SYS.SYSTABLES.SCHEMAID=SYS.SYSSCHEMAS.SCHEMAID WHERE SCHEMANAME='%s'"/>
 | 
			
		||||
            <blind query="SELECT TABLENAME FROM SYS.SYSTABLES JOIN SYS.SYSSCHEMAS ON SYS.SYSTABLES.SCHEMAID=SYS.SYSSCHEMAS.SCHEMAID WHERE SCHEMANAME='%s' OFFSET %d ROWS FETCH FIRST 1 ROW ONLY" count="SELECT COUNT(TABLENAME) FROM SYS.SYSTABLES JOIN SYS.SYSSCHEMAS ON SYS.SYSTABLES.SCHEMAID=SYS.SYSSCHEMAS.SCHEMAID WHERE SCHEMANAME='%s'"/>
 | 
			
		||||
        </tables>
 | 
			
		||||
        <columns>
 | 
			
		||||
            <!-- NOTE: COLUMNDATATYPE without CAST() causes problems during enumeration -->
 | 
			
		||||
| 
						 | 
				
			
			@ -975,11 +975,11 @@
 | 
			
		|||
        </columns>
 | 
			
		||||
        <dump_table>
 | 
			
		||||
            <inband query="SELECT %s FROM %s"/>
 | 
			
		||||
            <blind query="SELECT %s FROM %s {LIMIT 1 OFFSET %d}" count="SELECT COUNT(*) FROM %s"/>
 | 
			
		||||
            <blind query="SELECT %s FROM %s OFFSET %d ROWS FETCH FIRST 1 ROW ONLY" count="SELECT COUNT(*) FROM %s"/>
 | 
			
		||||
        </dump_table>
 | 
			
		||||
        <users>
 | 
			
		||||
            <inband query="SELECT USERNAME FROM SYS.SYSUSERS"/>
 | 
			
		||||
            <blind query="SELECT USERNAME FROM SYS.SYSUSERS {LIMIT 1 OFFSET %d}" count="SELECT COUNT(USERNAME) FROM SYS.SYSUSERS"/>
 | 
			
		||||
            <blind query="SELECT USERNAME FROM SYS.SYSUSERS OFFSET %d ROWS FETCH FIRST 1 ROW ONLY" count="SELECT COUNT(USERNAME) FROM SYS.SYSUSERS"/>
 | 
			
		||||
        </users>
 | 
			
		||||
        <!-- NOTE: No one can view the 'SYSUSERS'.'PASSWORD' column -->
 | 
			
		||||
        <passwords/>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1028,7 +1028,7 @@ class Agent(object):
 | 
			
		|||
            limitedQuery += " %s" % limitStr
 | 
			
		||||
 | 
			
		||||
        elif Backend.getIdentifiedDbms() in (DBMS.DERBY, DBMS.CRATEDB, DBMS.CLICKHOUSE):
 | 
			
		||||
            limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (1, num)
 | 
			
		||||
            limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1)
 | 
			
		||||
            limitedQuery += " %s" % limitStr
 | 
			
		||||
 | 
			
		||||
        elif Backend.getIdentifiedDbms() in (DBMS.FRONTBASE, DBMS.VIRTUOSO):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -20,7 +20,7 @@ from thirdparty import six
 | 
			
		|||
from thirdparty.six import unichr as _unichr
 | 
			
		||||
 | 
			
		||||
# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
 | 
			
		||||
VERSION = "1.7.2.7"
 | 
			
		||||
VERSION = "1.7.2.8"
 | 
			
		||||
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
 | 
			
		||||
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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -68,7 +68,7 @@ class Fingerprint(GenericFingerprint):
 | 
			
		|||
        infoMsg = "testing %s" % DBMS.DERBY
 | 
			
		||||
        logger.info(infoMsg)
 | 
			
		||||
 | 
			
		||||
        result = inject.checkBooleanExpression("[RANDNUM]=(SELECT [RANDNUM] FROM SYSIBM.SYSDUMMY1 {LIMIT 1 OFFSET 0})")
 | 
			
		||||
        result = inject.checkBooleanExpression("[RANDNUM]=(SELECT [RANDNUM] FROM SYSIBM.SYSDUMMY1 OFFSET 0 ROWS FETCH FIRST 1 ROW ONLY)")
 | 
			
		||||
 | 
			
		||||
        if result:
 | 
			
		||||
            infoMsg = "confirming %s" % DBMS.DERBY
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user