mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2024-11-22 17:46:37 +03:00
Fix for an Issue #485 (failing back to single-thread mode if over some bisection length)
This commit is contained in:
parent
d7c0805e7c
commit
be5ce760b6
|
@ -481,6 +481,9 @@ MAX_CONNECTION_CHUNK_SIZE = 10 * 1024 * 1024
|
||||||
# Maximum response total page size (trimmed if larger)
|
# Maximum response total page size (trimmed if larger)
|
||||||
MAX_CONNECTION_TOTAL_SIZE = 100 * 1024 * 1024
|
MAX_CONNECTION_TOTAL_SIZE = 100 * 1024 * 1024
|
||||||
|
|
||||||
|
# Maximum (multi-threaded) length of entry in bisection algorithm
|
||||||
|
MAX_BISECTION_LENGTH = 50 * 1024 * 1024
|
||||||
|
|
||||||
# Mark used for trimming unnecessary content in large chunks
|
# Mark used for trimming unnecessary content in large chunks
|
||||||
LARGE_CHUNK_TRIM_MARKER = "__TRIMMED_CONTENT__"
|
LARGE_CHUNK_TRIM_MARKER = "__TRIMMED_CONTENT__"
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ from lib.core.settings import INFERENCE_UNKNOWN_CHAR
|
||||||
from lib.core.settings import INFERENCE_GREATER_CHAR
|
from lib.core.settings import INFERENCE_GREATER_CHAR
|
||||||
from lib.core.settings import INFERENCE_EQUALS_CHAR
|
from lib.core.settings import INFERENCE_EQUALS_CHAR
|
||||||
from lib.core.settings import INFERENCE_NOT_EQUALS_CHAR
|
from lib.core.settings import INFERENCE_NOT_EQUALS_CHAR
|
||||||
|
from lib.core.settings import MAX_BISECTION_LENGTH
|
||||||
from lib.core.settings import MAX_TIME_REVALIDATION_STEPS
|
from lib.core.settings import MAX_TIME_REVALIDATION_STEPS
|
||||||
from lib.core.settings import PARTIAL_HEX_VALUE_MARKER
|
from lib.core.settings import PARTIAL_HEX_VALUE_MARKER
|
||||||
from lib.core.settings import PARTIAL_VALUE_MARKER
|
from lib.core.settings import PARTIAL_VALUE_MARKER
|
||||||
|
@ -135,6 +136,9 @@ def bisection(payload, expression, length=None, charsetType=None, firstChar=None
|
||||||
if length and (lastChar > 0 or firstChar > 0):
|
if length and (lastChar > 0 or firstChar > 0):
|
||||||
length = min(length, lastChar or length) - firstChar
|
length = min(length, lastChar or length) - firstChar
|
||||||
|
|
||||||
|
if length and length > MAX_BISECTION_LENGTH:
|
||||||
|
length = None
|
||||||
|
|
||||||
showEta = conf.eta and isinstance(length, int)
|
showEta = conf.eta and isinstance(length, int)
|
||||||
numThreads = min(conf.threads, length)
|
numThreads = min(conf.threads, length)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user