()
| 455 | kb.targets = _() |
| 456 | |
| 457 | def _setBulkMultipleTargets(): |
| 458 | if not conf.bulkFile: |
| 459 | return |
| 460 | |
| 461 | conf.bulkFile = safeExpandUser(conf.bulkFile) |
| 462 | |
| 463 | infoMsg = "parsing multiple targets list from '%s'" % conf.bulkFile |
| 464 | logger.info(infoMsg) |
| 465 | |
| 466 | if not checkFile(conf.bulkFile, False): |
| 467 | errMsg = "the specified bulk file " |
| 468 | errMsg += "does not exist" |
| 469 | raise SqlmapFilePathException(errMsg) |
| 470 | |
| 471 | found = False |
| 472 | for line in getFileItems(conf.bulkFile): |
| 473 | if conf.scope and not re.search(conf.scope, line, re.I): |
| 474 | continue |
| 475 | |
| 476 | if re.match(r"[^ ]+\?(.+)", line, re.I) or kb.customInjectionMark in line or conf.data: |
| 477 | found = True |
| 478 | kb.targets.add((line.strip(), conf.method, conf.data, conf.cookie, None)) |
| 479 | |
| 480 | if not found and not conf.forms and not conf.crawlDepth: |
| 481 | warnMsg = "no usable links found (with GET parameters)" |
| 482 | logger.warning(warnMsg) |
| 483 | |
| 484 | def _findPageForms(): |
| 485 | if not conf.forms or conf.crawlDepth: |
no test coverage detected
searching dependent graphs…