mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-02-09 08:00:36 +03:00
some updates
This commit is contained in:
parent
c8fe2fa8d8
commit
3f0a443b83
|
@ -227,6 +227,9 @@ class Agent:
|
||||||
nulledCastedField = field
|
nulledCastedField = field
|
||||||
else:
|
else:
|
||||||
nulledCastedField = queries[kb.dbms].cast.query % field
|
nulledCastedField = queries[kb.dbms].cast.query % field
|
||||||
|
if kb.dbms == DBMS.ACCESS:
|
||||||
|
nulledCastedField = queries[kb.dbms].isnull.query % (nulledCastedField, nulledCastedField)
|
||||||
|
else:
|
||||||
nulledCastedField = queries[kb.dbms].isnull.query % nulledCastedField
|
nulledCastedField = queries[kb.dbms].isnull.query % nulledCastedField
|
||||||
|
|
||||||
return nulledCastedField
|
return nulledCastedField
|
||||||
|
|
|
@ -167,7 +167,7 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
|
||||||
position = (len(charTbl) >> 1)
|
position = (len(charTbl) >> 1)
|
||||||
posValue = charTbl[position]
|
posValue = charTbl[position]
|
||||||
|
|
||||||
if kb.dbms in (DBMS.SQLITE, DBMS.ACCESS, DBMS.MAXDB):
|
if kb.dbms in (DBMS.SQLITE, DBMS.MAXDB):
|
||||||
pushValue(posValue)
|
pushValue(posValue)
|
||||||
posValue = chr(posValue) if posValue < 128 else unichr(posValue)
|
posValue = chr(posValue) if posValue < 128 else unichr(posValue)
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
|
||||||
queriesCount[0] += 1
|
queriesCount[0] += 1
|
||||||
result = Request.queryPage(forgedPayload)
|
result = Request.queryPage(forgedPayload)
|
||||||
|
|
||||||
if kb.dbms in (DBMS.SQLITE, DBMS.ACCESS, DBMS.MAXDB):
|
if kb.dbms in (DBMS.SQLITE, DBMS.MAXDB):
|
||||||
posValue = popValue()
|
posValue = popValue()
|
||||||
|
|
||||||
if result:
|
if result:
|
||||||
|
|
|
@ -189,3 +189,6 @@ class Fingerprint(GenericFingerprint):
|
||||||
logger.warn(warnMsg)
|
logger.warn(warnMsg)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def forceDbmsEnum(self):
|
||||||
|
conf.db = "Access"
|
||||||
|
|
|
@ -341,7 +341,7 @@
|
||||||
<dbms value="Microsoft Access">
|
<dbms value="Microsoft Access">
|
||||||
<cast query="CVAR(%s)"/>
|
<cast query="CVAR(%s)"/>
|
||||||
<length query="LEN(%s)"/>
|
<length query="LEN(%s)"/>
|
||||||
<isnull query="ISNULL(%s)"/>
|
<isnull query="IIF(ISNULL(%s), ' ', %s)"/>
|
||||||
<delimiter query=","/>
|
<delimiter query=","/>
|
||||||
<limit query="TOP %d"/>
|
<limit query="TOP %d"/>
|
||||||
<limitregexp query="\s+TOP\s+([\d]+)"/>
|
<limitregexp query="\s+TOP\s+([\d]+)"/>
|
||||||
|
@ -354,7 +354,6 @@
|
||||||
<timedelay/>
|
<timedelay/>
|
||||||
<substring query="MID((%s), %d, %d)"/>
|
<substring query="MID((%s), %d, %d)"/>
|
||||||
<case query="IIF(%s,1,0)"/>
|
<case query="IIF(%s,1,0)"/>
|
||||||
<inference query="AND MID((%s), %d, 1) > '%s'"/>
|
|
||||||
<banner/>
|
<banner/>
|
||||||
<current_user query="SELECT CURRENTUSER()"/>
|
<current_user query="SELECT CURRENTUSER()"/>
|
||||||
<current_db/>
|
<current_db/>
|
||||||
|
@ -363,6 +362,7 @@
|
||||||
<dbs/>
|
<dbs/>
|
||||||
<tables>
|
<tables>
|
||||||
<inband query="SELECT Name FROM MSysObjects WHERE (Left([Name],1) <> '~') AND (Left([Name],4) <> 'MSys') AND ([Type] In (1, 4, 6))"/>
|
<inband query="SELECT Name FROM MSysObjects WHERE (Left([Name],1) <> '~') AND (Left([Name],4) <> 'MSys') AND ([Type] In (1, 4, 6))"/>
|
||||||
|
<blind query="SELECT MIN(Name) FROM MSysObjects WHERE Type = 1 AND name > '%s'" count="SELECT COUNT(*) FROM MSysObjects WHERE Type = 1"/>
|
||||||
</tables>
|
</tables>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user