Resume stored data values from HashDB
()
| 456 | conf.hashDB = HashDB(conf.hashDBFile) |
| 457 | |
| 458 | def _resumeHashDBValues(): |
| 459 | """ |
| 460 | Resume stored data values from HashDB |
| 461 | """ |
| 462 | |
| 463 | kb.absFilePaths = hashDBRetrieve(HASHDB_KEYS.KB_ABS_FILE_PATHS, True) or kb.absFilePaths |
| 464 | kb.brute.tables = hashDBRetrieve(HASHDB_KEYS.KB_BRUTE_TABLES, True) or kb.brute.tables |
| 465 | kb.brute.columns = hashDBRetrieve(HASHDB_KEYS.KB_BRUTE_COLUMNS, True) or kb.brute.columns |
| 466 | kb.chars = hashDBRetrieve(HASHDB_KEYS.KB_CHARS, True) or kb.chars |
| 467 | kb.dynamicMarkings = hashDBRetrieve(HASHDB_KEYS.KB_DYNAMIC_MARKINGS, True) or kb.dynamicMarkings |
| 468 | kb.xpCmdshellAvailable = hashDBRetrieve(HASHDB_KEYS.KB_XP_CMDSHELL_AVAILABLE) or kb.xpCmdshellAvailable |
| 469 | |
| 470 | kb.errorChunkLength = hashDBRetrieve(HASHDB_KEYS.KB_ERROR_CHUNK_LENGTH) |
| 471 | if isNumPosStrValue(kb.errorChunkLength): |
| 472 | kb.errorChunkLength = int(kb.errorChunkLength) |
| 473 | else: |
| 474 | kb.errorChunkLength = None |
| 475 | |
| 476 | conf.tmpPath = conf.tmpPath or hashDBRetrieve(HASHDB_KEYS.CONF_TMP_PATH) |
| 477 | |
| 478 | for injection in hashDBRetrieve(HASHDB_KEYS.KB_INJECTIONS, True) or []: |
| 479 | if isinstance(injection, InjectionDict) and injection.place in conf.paramDict and injection.parameter in conf.paramDict[injection.place]: |
| 480 | if not conf.technique or intersect(conf.technique, injection.data.keys()): |
| 481 | if intersect(conf.technique, injection.data.keys()): |
| 482 | injection.data = dict(_ for _ in injection.data.items() if _[0] in conf.technique) |
| 483 | if injection not in kb.injections: |
| 484 | kb.injections.append(injection) |
| 485 | kb.vulnHosts.add(conf.hostname) |
| 486 | |
| 487 | _resumeDBMS() |
| 488 | _resumeOS() |
| 489 | |
| 490 | def _resumeDBMS(): |
| 491 | """ |
no test coverage detected
searching dependent graphs…