options.py 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Author: hywell
  5. @Email: hywell.28@gmail.com
  6. @Blog: iassas.com
  7. @Date: 2019/10/16 22:24
  8. """
  9. from lib.core.data import logger
  10. from lib.parse.ip import parseTarget
  11. from lib.core.setting import ASYNC_NUM, CONF, TARGETS, PROCESS_NUM, RESULT
  12. def TargetRegister(targets):
  13. target_result = []
  14. for target in targets:
  15. parse_targets = parseTarget(target)
  16. for parse_target in parse_targets:
  17. ip = parse_target["ip"]
  18. domain = parse_target["domain"]
  19. url = parse_target["url"]
  20. if ip:
  21. RESULT[ip] = {}
  22. TARGETS.IP.append(ip)
  23. target_result.append([1, ip, None])
  24. elif domain:
  25. RESULT[domain] = {"subDomain": {"open": [], "close": []}, "status": ""}
  26. TARGETS.DOMAIN.append(domain)
  27. target_result.append([2, domain, None])
  28. for sub in CONF.dns_sub:
  29. target_result.append([2, "%s.%s" % (sub, domain), domain])
  30. elif url:
  31. RESULT[url] = {"dic": [], "status": ""}
  32. TARGETS.URL.append(url)
  33. target_result.append([3, url, None])
  34. for dir in CONF.dir:
  35. if "/" in dir:
  36. target_result.append([3, url + dir, url])
  37. else:
  38. target_result.append([3, url + "/" + dir, url])
  39. else:
  40. logger.info("%s is end" % domain if domain else ip)
  41. return target_result
  42. def InitRegister(level):
  43. CONF.async_num = ASYNC_NUM
  44. CONF.base_nums = None
  45. CONF.dir = []
  46. CONF.dns_servers = []
  47. CONF.dns_sub = []
  48. CONF.level = level
  49. CONF.levels = {"1": "", "2": "", "3": ""}
  50. CONF.process_num = PROCESS_NUM
  51. logger.info("[AWIScan] Configuration has been initialized")
  52. TARGETS.IP = []
  53. TARGETS.DOMAIN = []
  54. TARGETS.URL = []
  55. TARGETS.END.ip = []
  56. TARGETS.END.domain = []
  57. TARGETS.END.url = []
  58. TARGETS.ERROR.ip = []
  59. TARGETS.ERROR.domain = []
  60. TARGETS.ERROR.url = []
  61. logger.info("[AWIScan] Target information has been initialized")
  62. def initOptions(level):
  63. InitRegister(level)