3131from lib .core .exception import sqlmapThreadException
3232from lib .core .exception import unhandledException
3333from lib .core .progress import ProgressBar
34+ from lib .core .settings import DBMS
3435from lib .core .unescaper import unescaper
3536from lib .request .connect import Connect as Request
3637
@@ -114,7 +115,7 @@ def tryHint(idx):
114115 hintlock .release ()
115116
116117 if hintValue is not None and len (hintValue ) >= idx :
117- if kb .dbms in ("SQLite" , "Microsoft Access" , "SAP MaxDB" ):
118+ if kb .dbms in (DBMS . SQLITE , DBMS . ACCESS , DBMS . MAXDB ):
118119 posValue = hintValue [idx - 1 ]
119120 else :
120121 posValue = ord (hintValue [idx - 1 ])
@@ -166,7 +167,7 @@ def getChar(idx, charTbl=asciiTbl, continuousOrder=True, expand=charsetType is N
166167 position = (len (charTbl ) >> 1 )
167168 posValue = charTbl [position ]
168169
169- if kb .dbms in ("SQLite" , "Microsoft Access" , "SAP MaxDB" ):
170+ if kb .dbms in (DBMS . SQLITE , DBMS . ACCESS , DBMS . MAXDB ):
170171 pushValue (posValue )
171172 posValue = chr (posValue ) if posValue < 128 else unichr (posValue )
172173
@@ -175,7 +176,7 @@ def getChar(idx, charTbl=asciiTbl, continuousOrder=True, expand=charsetType is N
175176 queriesCount [0 ] += 1
176177 result = Request .queryPage (forgedPayload )
177178
178- if kb .dbms in ("SQLite" , "Microsoft Access" , "SAP MaxDB" ):
179+ if kb .dbms in (DBMS . SQLITE , DBMS . ACCESS , DBMS . MAXDB ):
179180 posValue = popValue ()
180181
181182 if result :
@@ -491,6 +492,9 @@ def downloadThread():
491492 if val is None or ( lastChar > 0 and index > lastChar ):
492493 break
493494
495+ if kb .data .processChar :
496+ val = kb .data .processChar (val )
497+
494498 finalValue += val
495499 dataToSessionFile (replaceNewlineTabs (val ))
496500
0 commit comments