added inference failsafe (like in for instance Firebirds SUBSTR always returns a string value, no matter which starting index you use)

This commit is contained in:
Miroslav Stampar
2010-12-11 10:52:04 +00:00
parent c17f444aab
commit f021548bd0
2 changed files with 9 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ from lib.core.exception import sqlmapThreadException
from lib.core.exception import unhandledException
from lib.core.progress import ProgressBar
from lib.core.settings import CHAR_INFERENCE_MARK
from lib.core.settings import INFERENCE_BLANK_BREAK
from lib.core.unescaper import unescaper
from lib.request.connect import Connect as Request
@@ -506,6 +507,9 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
elif conf.verbose in (1, 2):
dataToStdout(val)
if len(finalValue) > INFERENCE_BLANK_BREAK and finalValue[-INFERENCE_BLANK_BREAK:].isspace():
break
if conf.verbose in (1, 2) or showEta:
dataToStdout("\n")