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

Function blindThread

lib/techniques/blind/inference.py:511–573  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

509
510 try:
511 def blindThread():
512 threadData = getCurrentThreadData()
513
514 while kb.threadContinue:
515 with kb.locks.index:
516 if threadData.shared.index[0] - firstChar >= length:
517 return
518
519 threadData.shared.index[0] += 1
520 currentCharIndex = threadData.shared.index[0]
521
522 if kb.threadContinue:
523 val = getChar(currentCharIndex, asciiTbl, not (charsetType is None and conf.charset))
524 if val is None:
525 val = INFERENCE_UNKNOWN_CHAR
526 else:
527 break
528
529 # NOTE: https://github.com/sqlmapproject/sqlmap/issues/4629
530 if not isListLike(threadData.shared.value):
531 break
532
533 with kb.locks.value:
534 threadData.shared.value[currentCharIndex - 1 - firstChar] = val
535 currentValue = list(threadData.shared.value)
536
537 if kb.threadContinue:
538 if showEta:
539 progress.progress(threadData.shared.index[0])
540 elif conf.verbose >= 1:
541 startCharIndex = 0
542 endCharIndex = 0
543
544 for i in xrange(length):
545 if currentValue[i] is not None:
546 endCharIndex = max(endCharIndex, i)
547
548 output = ''
549
550 if endCharIndex > conf.progressWidth:
551 startCharIndex = endCharIndex - conf.progressWidth
552
553 count = threadData.shared.start
554
555 for i in xrange(startCharIndex, endCharIndex + 1):
556 output += '_' if currentValue[i] is None else filterControlChars(currentValue[i] if len(currentValue[i]) == 1 else ' ', replacement=' ')
557
558 for i in xrange(length):
559 count += 1 if currentValue[i] is not None else 0
560
561 if startCharIndex > 0:
562 output = ".." + output[2:]
563
564 if (endCharIndex - startCharIndex == conf.progressWidth) and (endCharIndex < length - 1):
565 output = output[:-2] + ".."
566
567 if conf.verbose in (1, 2) and not any((showEta, conf.api, kb.bruteMode)):
568 _ = count - firstChar

Callers

nothing calls this directly

Calls 7

getCurrentThreadDataFunction · 0.90
isListLikeFunction · 0.90
xrangeClass · 0.90
filterControlCharsFunction · 0.90
dataToStdoutFunction · 0.90
getCharFunction · 0.85
progressMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…