MCPcopy Index your code
hub / github.com/sqlmapproject/sqlmap / checkDbms

Method checkDbms

plugins/dbms/firebird/fingerprint.py:108–151  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

106 return retVal
107
108 def checkDbms(self):
109 if not conf.extensiveFp and Backend.isDbmsWithin(FIREBIRD_ALIASES):
110 setDbms("%s %s" % (DBMS.FIREBIRD, Backend.getVersion()))
111
112 self.getBanner()
113
114 return True
115
116 infoMsg = "testing %s" % DBMS.FIREBIRD
117 logger.info(infoMsg)
118
119 result = inject.checkBooleanExpression("(SELECT COUNT(*) FROM RDB$DATABASE WHERE [RANDNUM]=[RANDNUM])>0")
120
121 if result:
122 infoMsg = "confirming %s" % DBMS.FIREBIRD
123 logger.info(infoMsg)
124
125 result = inject.checkBooleanExpression("EXISTS(SELECT CURRENT_USER FROM RDB$DATABASE)")
126
127 if not result:
128 warnMsg = "the back-end DBMS is not %s" % DBMS.FIREBIRD
129 logger.warning(warnMsg)
130
131 return False
132
133 setDbms(DBMS.FIREBIRD)
134
135 infoMsg = "actively fingerprinting %s" % DBMS.FIREBIRD
136 logger.info(infoMsg)
137
138 version = self._sysTablesCheck()
139
140 if version is not None:
141 Backend.setVersion(version)
142 setDbms("%s %s" % (DBMS.FIREBIRD, version))
143
144 self.getBanner()
145
146 return True
147 else:
148 warnMsg = "the back-end DBMS is not %s" % DBMS.FIREBIRD
149 logger.warning(warnMsg)
150
151 return False
152
153 def forceDbmsEnum(self):
154 conf.db = "%s%s" % (DBMS.FIREBIRD, METADB_SUFFIX)

Callers

nothing calls this directly

Calls 7

_sysTablesCheckMethod · 0.95
setDbmsFunction · 0.90
isDbmsWithinMethod · 0.80
getVersionMethod · 0.80
infoMethod · 0.80
setVersionMethod · 0.80
getBannerMethod · 0.45

Tested by

no test coverage detected