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

Function setHandler

lib/controller/handler.py:103–202  ·  view source on GitHub ↗

Detect which is the target web application back-end database management system.

()

Source from the content-addressed store, hash-verified

101from plugins.dbms.virtuoso import VirtuosoMap
102
103def setHandler():
104 """
105 Detect which is the target web application back-end database
106 management system.
107 """
108
109 items = [
110 (DBMS.MYSQL, MYSQL_ALIASES, MySQLMap, MySQLConn),
111 (DBMS.ORACLE, ORACLE_ALIASES, OracleMap, OracleConn),
112 (DBMS.PGSQL, PGSQL_ALIASES, PostgreSQLMap, PostgreSQLConn),
113 (DBMS.MSSQL, MSSQL_ALIASES, MSSQLServerMap, MSSQLServerConn),
114 (DBMS.SQLITE, SQLITE_ALIASES, SQLiteMap, SQLiteConn),
115 (DBMS.ACCESS, ACCESS_ALIASES, AccessMap, AccessConn),
116 (DBMS.FIREBIRD, FIREBIRD_ALIASES, FirebirdMap, FirebirdConn),
117 (DBMS.MAXDB, MAXDB_ALIASES, MaxDBMap, MaxDBConn),
118 (DBMS.SYBASE, SYBASE_ALIASES, SybaseMap, SybaseConn),
119 (DBMS.DB2, DB2_ALIASES, DB2Map, DB2Conn),
120 (DBMS.HSQLDB, HSQLDB_ALIASES, HSQLDBMap, HSQLDBConn),
121 (DBMS.H2, H2_ALIASES, H2Map, H2Conn),
122 (DBMS.INFORMIX, INFORMIX_ALIASES, InformixMap, InformixConn),
123 (DBMS.MONETDB, MONETDB_ALIASES, MonetDBMap, MonetDBConn),
124 (DBMS.DERBY, DERBY_ALIASES, DerbyMap, DerbyConn),
125 (DBMS.VERTICA, VERTICA_ALIASES, VerticaMap, VerticaConn),
126 (DBMS.MCKOI, MCKOI_ALIASES, MckoiMap, MckoiConn),
127 (DBMS.PRESTO, PRESTO_ALIASES, PrestoMap, PrestoConn),
128 (DBMS.ALTIBASE, ALTIBASE_ALIASES, AltibaseMap, AltibaseConn),
129 (DBMS.MIMERSQL, MIMERSQL_ALIASES, MimerSQLMap, MimerSQLConn),
130 (DBMS.CLICKHOUSE, CLICKHOUSE_ALIASES, ClickHouseMap, ClickHouseConn),
131 (DBMS.CRATEDB, CRATEDB_ALIASES, CrateDBMap, CrateDBConn),
132 (DBMS.CUBRID, CUBRID_ALIASES, CubridMap, CubridConn),
133 (DBMS.CACHE, CACHE_ALIASES, CacheMap, CacheConn),
134 (DBMS.EXTREMEDB, EXTREMEDB_ALIASES, ExtremeDBMap, ExtremeDBConn),
135 (DBMS.FRONTBASE, FRONTBASE_ALIASES, FrontBaseMap, FrontBaseConn),
136 (DBMS.RAIMA, RAIMA_ALIASES, RaimaMap, RaimaConn),
137 (DBMS.VIRTUOSO, VIRTUOSO_ALIASES, VirtuosoMap, VirtuosoConn),
138 ]
139
140 _ = max(_ if (conf.get("dbms") or Backend.getIdentifiedDbms() or kb.heuristicExtendedDbms or "").lower() in _[1] else () for _ in items)
141 if _:
142 items.remove(_)
143 items.insert(0, _)
144
145 for dbms, aliases, Handler, Connector in items:
146 if conf.forceDbms:
147 if conf.forceDbms.lower() not in aliases:
148 continue
149 else:
150 kb.dbms = conf.dbms = conf.forceDbms = dbms
151
152 if kb.dbmsFilter:
153 if dbms not in kb.dbmsFilter:
154 continue
155
156 handler = Handler()
157 conf.dbmsConnector = Connector()
158
159 if conf.direct:
160 exception = None

Callers 1

actionFunction · 0.90

Calls 13

connectMethod · 0.95
SQLAlchemyClass · 0.90
singleTimeWarnMessageFunction · 0.90
getSafeExStringFunction · 0.90
getIdentifiedDbmsMethod · 0.80
removeMethod · 0.80
flushForcedDbmsMethod · 0.80
ConnectorClass · 0.50
getMethod · 0.45
insertMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…