diff --git a/brute.py b/brute.py index 379e4a4..13489d5 100644 --- a/brute.py +++ b/brute.py @@ -518,8 +518,6 @@ class Brute(Module): if self.fuzz: fuzz_subdomains = gen_fuzz_subdomains(self.place, self.rule) dict_set = dict_set.union(fuzz_subdomains) - # logger.log('INFOR', f'正在去重爆破字典') - # dict_set = utils.uniq_dict_list(dict_set) count = len(dict_set) logger.log('INFOR', f'Dictionary size: {count}') if count > 10000000: diff --git a/common/database.py b/common/database.py index 9ac3bfd..40b3ae2 100644 --- a/common/database.py +++ b/common/database.py @@ -1,6 +1,3 @@ -#!/usr/bin/env python3 -# coding=utf-8 - """ SQLite database initialization and operation """ diff --git a/common/module.py b/common/module.py index 1e29dcc..43a0140 100644 --- a/common/module.py +++ b/common/module.py @@ -1,4 +1,3 @@ -# coding=utf-8 """ Module base class """ @@ -11,7 +10,6 @@ import requests from config.log import logger from config import settings from common import utils -from common.domain import Domain from common.database import Database lock = threading.Lock() diff --git a/common/request.py b/common/request.py index b8dfab6..72e032d 100644 --- a/common/request.py +++ b/common/request.py @@ -16,8 +16,6 @@ def get_limit_conn(): limit_open_conn = settings.limit_open_conn if limit_open_conn is None: # 默认情况 limit_open_conn = utils.get_semaphore() - elif not isinstance(limit_open_conn, int): # 如果传入不是数字的情况 - limit_open_conn = utils.get_semaphore() return limit_open_conn diff --git a/common/resolve.py b/common/resolve.py index 81053cf..2b4dcf3 100644 --- a/common/resolve.py +++ b/common/resolve.py @@ -4,7 +4,6 @@ import json from config.log import logger from config import settings from common import utils -from common.database import Database from common.ipasn import IPAsnInfo from common.ipgeo import IpGeoInfo from common.ipreg import IpRegInfo diff --git a/common/search.py b/common/search.py index 22493e5..d653812 100644 --- a/common/search.py +++ b/common/search.py @@ -1,7 +1,4 @@ -import re - from config import settings -from config.log import logger from common.module import Module diff --git a/common/utils.py b/common/utils.py index dafbd2b..0b86ce7 100644 --- a/common/utils.py +++ b/common/utils.py @@ -572,11 +572,10 @@ def check_pre(): if version < '3.6': logger.log('FATAL', 'OneForAll requires Python 3.6 or higher') exit(1) - if system == 'Windows' and implementation == 'CPython': - if version < '3.8': - logger.log('FATAL', 'OneForAll requires Python 3.8 ' - 'or higher when running on Windows') - exit(1) + if system == 'Windows' and implementation == 'CPython' and version < '3.8': + logger.log('FATAL', 'OneForAll requires Python 3.8 ' + 'or higher when running on Windows') + exit(1) if system in {"Linux", "Darwin"}: try: import uvloop diff --git a/modules/certificates/censys_api.py b/modules/certificates/censys_api.py index e3a1768..6b74188 100644 --- a/modules/certificates/censys_api.py +++ b/modules/certificates/censys_api.py @@ -58,7 +58,7 @@ class CensysAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -69,4 +69,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/certificates/certspotter.py b/modules/certificates/certspotter.py index 7e49864..c4fa32b 100644 --- a/modules/certificates/certspotter.py +++ b/modules/certificates/certspotter.py @@ -37,7 +37,7 @@ class CertSpotter(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -49,4 +49,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/certificates/crtsh.py b/modules/certificates/crtsh.py index f666f0e..6c55dbd 100644 --- a/modules/certificates/crtsh.py +++ b/modules/certificates/crtsh.py @@ -35,7 +35,7 @@ class Crtsh(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -46,4 +46,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/certificates/google.py b/modules/certificates/google.py index f95349b..cc9b991 100644 --- a/modules/certificates/google.py +++ b/modules/certificates/google.py @@ -38,7 +38,7 @@ class Google(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -49,4 +49,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/check/axfr.py b/modules/check/axfr.py index b5c0f24..188fd95 100644 --- a/modules/check/axfr.py +++ b/modules/check/axfr.py @@ -83,7 +83,7 @@ class CheckAXFR(Module): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -94,5 +94,5 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('ZoneTransfer.me') - # do('example.com') + run('ZoneTransfer.me') + # run('example.com') diff --git a/modules/check/cdx.py b/modules/check/cdx.py index 6b44a54..f438751 100644 --- a/modules/check/cdx.py +++ b/modules/check/cdx.py @@ -44,7 +44,7 @@ class CheckCDX(Module): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -55,4 +55,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/check/cert.py b/modules/check/cert.py index 018c3a6..1eae2d9 100644 --- a/modules/check/cert.py +++ b/modules/check/cert.py @@ -46,7 +46,7 @@ class CheckCert(Module): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -57,4 +57,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/check/csp.py b/modules/check/csp.py index 3c25127..2802e93 100644 --- a/modules/check/csp.py +++ b/modules/check/csp.py @@ -65,7 +65,7 @@ class CheckCSP(Module): self.save_db() -def do(domain, header=None): # 统一入口名字 方便多线程调用 +def run(domain, header=None): """ 类统一调用入口 @@ -78,4 +78,4 @@ def do(domain, header=None): # 统一入口名字 方便多线程调用 if __name__ == '__main__': resp = requests.get('https://content-security-policy.com/') - do('google-analytics.com', dict(resp.headers)) + run('google-analytics.com', dict(resp.headers)) diff --git a/modules/check/nsec.py b/modules/check/nsec.py index a5e55e6..893797c 100644 --- a/modules/check/nsec.py +++ b/modules/check/nsec.py @@ -42,7 +42,7 @@ class CheckNSEC(Module): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -53,4 +53,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('iana.org') + run('iana.org') diff --git a/modules/check/robots.py b/modules/check/robots.py index e717588..8d1fa28 100644 --- a/modules/check/robots.py +++ b/modules/check/robots.py @@ -43,7 +43,7 @@ class CheckRobots(Module): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -54,4 +54,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('qq.com') + run('qq.com') diff --git a/modules/check/sitemap.py b/modules/check/sitemap.py index b7f2d10..51035e9 100644 --- a/modules/check/sitemap.py +++ b/modules/check/sitemap.py @@ -48,7 +48,7 @@ class CheckRobots(Module): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -59,4 +59,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('qq.com') + run('qq.com') diff --git a/modules/collect.py b/modules/collect.py index ac46303..2874a89 100644 --- a/modules/collect.py +++ b/modules/collect.py @@ -48,7 +48,7 @@ class Collect(object): """ for package, name in self.modules: import_object = importlib.import_module('.' + name, package) - func = getattr(import_object, 'do') + func = getattr(import_object, 'run') self.collect_funcs.append([func, name]) def run(self): diff --git a/modules/crawl/archivecrawl.py b/modules/crawl/archivecrawl.py index 8eec194..cd632f8 100644 --- a/modules/crawl/archivecrawl.py +++ b/modules/crawl/archivecrawl.py @@ -47,7 +47,7 @@ class ArchiveCrawl(Crawl): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -58,4 +58,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/crawl/commoncrawl.py b/modules/crawl/commoncrawl.py index 07a74d6..6d6b07f 100644 --- a/modules/crawl/commoncrawl.py +++ b/modules/crawl/commoncrawl.py @@ -46,7 +46,7 @@ class CommonCrawl(Crawl): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -57,4 +57,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/binaryedge_api.py b/modules/datasets/binaryedge_api.py index b85807d..b7e2477 100644 --- a/modules/datasets/binaryedge_api.py +++ b/modules/datasets/binaryedge_api.py @@ -39,7 +39,7 @@ class BinaryEdgeAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -50,4 +50,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/bufferover.py b/modules/datasets/bufferover.py index 4007394..86cc8fc 100644 --- a/modules/datasets/bufferover.py +++ b/modules/datasets/bufferover.py @@ -42,7 +42,7 @@ class BufferOver(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -53,4 +53,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/cebaidu.py b/modules/datasets/cebaidu.py index 233a32f..8fbb5e5 100644 --- a/modules/datasets/cebaidu.py +++ b/modules/datasets/cebaidu.py @@ -35,7 +35,7 @@ class CeBaidu(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -46,4 +46,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/chinaz.py b/modules/datasets/chinaz.py index d781b78..3598555 100644 --- a/modules/datasets/chinaz.py +++ b/modules/datasets/chinaz.py @@ -35,7 +35,7 @@ class Chinaz(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -46,4 +46,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/chinaz_api.py b/modules/datasets/chinaz_api.py index e8e8738..28afca5 100644 --- a/modules/datasets/chinaz_api.py +++ b/modules/datasets/chinaz_api.py @@ -39,7 +39,7 @@ class ChinazAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -50,4 +50,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/circl_api.py b/modules/datasets/circl_api.py index fa912b1..f160869 100644 --- a/modules/datasets/circl_api.py +++ b/modules/datasets/circl_api.py @@ -39,7 +39,7 @@ class CirclAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -50,4 +50,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/cloudflare_api.py b/modules/datasets/cloudflare_api.py index f28313a..5dd1e01 100644 --- a/modules/datasets/cloudflare_api.py +++ b/modules/datasets/cloudflare_api.py @@ -113,7 +113,7 @@ class CloudFlareAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ class call entrance @@ -124,4 +124,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/dnsdb_api.py b/modules/datasets/dnsdb_api.py index fe51a6c..f763cea 100644 --- a/modules/datasets/dnsdb_api.py +++ b/modules/datasets/dnsdb_api.py @@ -40,7 +40,7 @@ class DNSdbAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -52,4 +52,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/dnsdumpster.py b/modules/datasets/dnsdumpster.py index eebc4fd..f809cf4 100644 --- a/modules/datasets/dnsdumpster.py +++ b/modules/datasets/dnsdumpster.py @@ -42,7 +42,7 @@ class DNSdumpster(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -54,4 +54,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/hackertarget.py b/modules/datasets/hackertarget.py index 2dc75d8..de2e7ca 100644 --- a/modules/datasets/hackertarget.py +++ b/modules/datasets/hackertarget.py @@ -37,7 +37,7 @@ class HackerTarget(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -48,4 +48,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/ip138.py b/modules/datasets/ip138.py index 6c9d13a..1e49ad4 100644 --- a/modules/datasets/ip138.py +++ b/modules/datasets/ip138.py @@ -35,7 +35,7 @@ class IP138(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -46,4 +46,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/ipv4info_api.py b/modules/datasets/ipv4info_api.py index 691b74d..aed58a9 100644 --- a/modules/datasets/ipv4info_api.py +++ b/modules/datasets/ipv4info_api.py @@ -39,10 +39,9 @@ class IPv4InfoAPI(Query): self.subdomains = self.subdomains.union(subdomains) # 不直接使用subdomains是因为可能里面会出现不符合标准的子域名 subdomains = json.get('Subdomains') - if subdomains: + if subdomains and len(subdomains) < 300: # ipv4info子域查询接口每次最多返回300个 用来判断是否还有下一页 - if len(subdomains) < 300: - break + break page += 1 if page >= 50: # ipv4info子域查询接口最多允许查询50页 break @@ -61,7 +60,7 @@ class IPv4InfoAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -72,4 +71,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/netcraft.py b/modules/datasets/netcraft.py index 9994a9f..76f472a 100644 --- a/modules/datasets/netcraft.py +++ b/modules/datasets/netcraft.py @@ -73,7 +73,7 @@ class NetCraft(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -84,4 +84,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/passivedns_api.py b/modules/datasets/passivedns_api.py index 70faf81..e8217d5 100644 --- a/modules/datasets/passivedns_api.py +++ b/modules/datasets/passivedns_api.py @@ -41,7 +41,7 @@ class PassiveDnsAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -52,4 +52,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/phonebook.py b/modules/datasets/phonebook.py index df04346..c708974 100644 --- a/modules/datasets/phonebook.py +++ b/modules/datasets/phonebook.py @@ -50,7 +50,7 @@ class PhoneBook(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -61,4 +61,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('freebuf.com') + run('freebuf.com') diff --git a/modules/datasets/qianxun.py b/modules/datasets/qianxun.py index 7f47b20..66cbf51 100644 --- a/modules/datasets/qianxun.py +++ b/modules/datasets/qianxun.py @@ -47,7 +47,7 @@ class QianXun(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -58,4 +58,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/rapiddns.py b/modules/datasets/rapiddns.py index e77d64e..eee5e49 100644 --- a/modules/datasets/rapiddns.py +++ b/modules/datasets/rapiddns.py @@ -35,7 +35,7 @@ class RapidDNS(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -46,4 +46,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/riddler.py b/modules/datasets/riddler.py index a39502c..900947f 100644 --- a/modules/datasets/riddler.py +++ b/modules/datasets/riddler.py @@ -35,7 +35,7 @@ class Riddler(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -46,4 +46,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/robtex.py b/modules/datasets/robtex.py index aad33f9..4ecdb98 100644 --- a/modules/datasets/robtex.py +++ b/modules/datasets/robtex.py @@ -49,7 +49,7 @@ class Robtex(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -60,4 +60,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/securitytrails_api.py b/modules/datasets/securitytrails_api.py index d770b61..a2cb388 100644 --- a/modules/datasets/securitytrails_api.py +++ b/modules/datasets/securitytrails_api.py @@ -43,7 +43,7 @@ class SecurityTrailsAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -54,4 +54,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/sitedossier.py b/modules/datasets/sitedossier.py index 359d159..6db05c0 100644 --- a/modules/datasets/sitedossier.py +++ b/modules/datasets/sitedossier.py @@ -46,7 +46,7 @@ class SiteDossier(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -57,4 +57,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/spyse_api.py b/modules/datasets/spyse_api.py index 6e0564e..96e253f 100644 --- a/modules/datasets/spyse_api.py +++ b/modules/datasets/spyse_api.py @@ -49,7 +49,7 @@ class SpyseAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -60,4 +60,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/sublist3r.py b/modules/datasets/sublist3r.py index ff5ade8..477586d 100644 --- a/modules/datasets/sublist3r.py +++ b/modules/datasets/sublist3r.py @@ -34,7 +34,7 @@ class Sublist3r(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -45,4 +45,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/datasets/threatcrowd.py b/modules/datasets/threatcrowd.py index 7cd064b..6256a92 100644 --- a/modules/datasets/threatcrowd.py +++ b/modules/datasets/threatcrowd.py @@ -41,7 +41,7 @@ class ThreatCrowd(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -52,4 +52,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('mi.com') + run('mi.com') diff --git a/modules/datasets/wzpc.py b/modules/datasets/wzpc.py index 6788c0d..3c84ad9 100644 --- a/modules/datasets/wzpc.py +++ b/modules/datasets/wzpc.py @@ -51,7 +51,7 @@ class WZPCQuery(Query): self.save_db() -def do(domain): +def run(domain): """ 类统一调用入口 @@ -62,5 +62,5 @@ def do(domain): if __name__ == '__main__': - do('sc.gov.cn') - do('bkzy.org') + run('sc.gov.cn') + run('bkzy.org') diff --git a/modules/datasets/ximcx.py b/modules/datasets/ximcx.py index d8533b9..2c83973 100644 --- a/modules/datasets/ximcx.py +++ b/modules/datasets/ximcx.py @@ -36,7 +36,7 @@ class Ximcx(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -47,4 +47,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/dnsquery/mx.py b/modules/dnsquery/mx.py index ebbe69c..c2c00ac 100644 --- a/modules/dnsquery/mx.py +++ b/modules/dnsquery/mx.py @@ -21,7 +21,7 @@ class QueryMX(Lookup): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -32,4 +32,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('cuit.edu.cn') + run('cuit.edu.cn') diff --git a/modules/dnsquery/ns.py b/modules/dnsquery/ns.py index a44b4c3..be7d267 100644 --- a/modules/dnsquery/ns.py +++ b/modules/dnsquery/ns.py @@ -21,7 +21,7 @@ class QueryNS(Lookup): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -32,4 +32,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('cuit.edu.cn') + run('cuit.edu.cn') diff --git a/modules/dnsquery/soa.py b/modules/dnsquery/soa.py index 8aad164..1917c6b 100644 --- a/modules/dnsquery/soa.py +++ b/modules/dnsquery/soa.py @@ -21,7 +21,7 @@ class QuerySOA(Lookup): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -32,4 +32,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('cuit.edu.cn') + run('cuit.edu.cn') diff --git a/modules/dnsquery/spf.py b/modules/dnsquery/spf.py index 0d2d6ea..3b1ff17 100644 --- a/modules/dnsquery/spf.py +++ b/modules/dnsquery/spf.py @@ -21,7 +21,7 @@ class QuerySPF(Lookup): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -32,4 +32,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('qq.com') + run('qq.com') diff --git a/modules/dnsquery/srv.py b/modules/dnsquery/srv.py index aa90fdc..e89add0 100644 --- a/modules/dnsquery/srv.py +++ b/modules/dnsquery/srv.py @@ -80,7 +80,7 @@ class BruteThread(threading.Thread): self.names_que.task_done() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -91,5 +91,5 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('zonetransfer.me') - # do('example.com') + run('zonetransfer.me') + # run('example.com') diff --git a/modules/dnsquery/txt.py b/modules/dnsquery/txt.py index a016fcf..b015193 100644 --- a/modules/dnsquery/txt.py +++ b/modules/dnsquery/txt.py @@ -21,7 +21,7 @@ class QueryTXT(Lookup): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -32,4 +32,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('cuit.edu.cn') + run('cuit.edu.cn') diff --git a/modules/intelligence/alienvault.py b/modules/intelligence/alienvault.py index fc592c8..75faf1e 100644 --- a/modules/intelligence/alienvault.py +++ b/modules/intelligence/alienvault.py @@ -44,7 +44,7 @@ class AlienVault(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -55,4 +55,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/intelligence/riskiq_api.py b/modules/intelligence/riskiq_api.py index da4598f..15a0455 100644 --- a/modules/intelligence/riskiq_api.py +++ b/modules/intelligence/riskiq_api.py @@ -42,7 +42,7 @@ class RiskIQ(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -53,4 +53,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/intelligence/threatbook_api.py b/modules/intelligence/threatbook_api.py index d2dc81b..f721a06 100644 --- a/modules/intelligence/threatbook_api.py +++ b/modules/intelligence/threatbook_api.py @@ -39,7 +39,7 @@ class ThreatBookAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -50,4 +50,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/intelligence/threatminer.py b/modules/intelligence/threatminer.py index 9c6c69e..8fe58fd 100644 --- a/modules/intelligence/threatminer.py +++ b/modules/intelligence/threatminer.py @@ -36,7 +36,7 @@ class ThreatMiner(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -47,4 +47,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/intelligence/virustotal.py b/modules/intelligence/virustotal.py index b2bfe0e..52aeed6 100644 --- a/modules/intelligence/virustotal.py +++ b/modules/intelligence/virustotal.py @@ -57,7 +57,7 @@ class VirusTotal(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -68,4 +68,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/intelligence/virustotal_api.py b/modules/intelligence/virustotal_api.py index 3f03a81..3bacf08 100644 --- a/modules/intelligence/virustotal_api.py +++ b/modules/intelligence/virustotal_api.py @@ -41,7 +41,7 @@ class VirusTotalAPI(Query): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -52,4 +52,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/ask.py b/modules/search/ask.py index cd1b115..6314911 100644 --- a/modules/search/ask.py +++ b/modules/search/ask.py @@ -33,10 +33,9 @@ class Ask(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break self.subdomains = self.subdomains.union(subdomains) self.page_num += 1 if '>Next<' not in resp.text: @@ -67,7 +66,7 @@ class Ask(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -78,4 +77,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/baidu.py b/modules/search/baidu.py index f17c461..ad1c6d4 100644 --- a/modules/search/baidu.py +++ b/modules/search/baidu.py @@ -8,7 +8,6 @@ class Baidu(Search): Search.__init__(self) self.module = 'Search' self.source = 'BaiduSearch' - self.init = 'https://www.baidu.com/' self.addr = 'https://www.baidu.com/s' self.domain = domain self.limit_num = 750 # 限制搜索条数 @@ -56,10 +55,9 @@ class Baidu(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: # 搜索没有发现子域名则停止搜索 break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break # 合并搜索子域名搜索结果 self.subdomains = self.subdomains.union(subdomains) self.page_num += self.per_page_num @@ -94,7 +92,7 @@ class Baidu(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -105,4 +103,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('mi.com') + run('mi.com') diff --git a/modules/search/bing.py b/modules/search/bing.py index 324faf6..ae2b56f 100644 --- a/modules/search/bing.py +++ b/modules/search/bing.py @@ -39,10 +39,9 @@ class Bing(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: # 搜索没有发现子域名则停止搜索 break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break # 合并搜索子域名搜索结果 self.subdomains = self.subdomains.union(subdomains) # 搜索页面没有出现下一页时停止搜索 @@ -78,7 +77,7 @@ class Bing(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -89,4 +88,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/bing_api.py b/modules/search/bing_api.py index 5a683dc..8c6018a 100644 --- a/modules/search/bing_api.py +++ b/modules/search/bing_api.py @@ -9,8 +9,7 @@ class BingAPI(Search): self.domain = domain self.module = 'Search' self.source = 'BingAPISearch' - self.addr = 'https://api.cognitive.microsoft.com/' \ - 'bing/v7.0/search' + self.addr = 'https://api.cognitive.microsoft.com/bing/v7.0/search' self.id = api.bing_api_id self.key = api.bing_api_key self.limit_num = 1000 # 必应同一个搜索关键词限制搜索条数 @@ -40,10 +39,9 @@ class BingAPI(Search): subdomains = self.match_subdomains(resp.text) if not subdomains: # 搜索没有发现子域名则停止搜索 break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break # 合并搜索子域名搜索结果 self.subdomains = self.subdomains.union(subdomains) self.page_num += self.per_page_num @@ -78,7 +76,7 @@ class BingAPI(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -89,4 +87,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/fofa_api.py b/modules/search/fofa_api.py index 370520c..2c9476c 100644 --- a/modules/search/fofa_api.py +++ b/modules/search/fofa_api.py @@ -60,7 +60,7 @@ class FoFa(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -71,4 +71,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/gitee.py b/modules/search/gitee.py index 028b402..9036d64 100644 --- a/modules/search/gitee.py +++ b/modules/search/gitee.py @@ -37,10 +37,9 @@ class Gitee(Search): subdomains = self.match_subdomains(soup.text, fuzzy=False) if not subdomains: break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索中发现搜索出的结果有完全重复的结果就停止搜索 + break self.subdomains = self.subdomains.union(subdomains) if '
  • ' in resp.text: break @@ -60,7 +59,7 @@ class Gitee(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -71,4 +70,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('qq.com') + run('qq.com') diff --git a/modules/search/github_api.py b/modules/search/github_api.py index 713f8c5..b9274b1 100644 --- a/modules/search/github_api.py +++ b/modules/search/github_api.py @@ -92,7 +92,7 @@ class GithubAPI(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -103,4 +103,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('exmaple.com') + run('exmaple.com') diff --git a/modules/search/google.py b/modules/search/google.py index b405d87..1f421f3 100644 --- a/modules/search/google.py +++ b/modules/search/google.py @@ -43,9 +43,9 @@ class Google(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: break - if not full_search: - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索中发现搜索出的结果有完全重复的结果就停止搜索 + break self.subdomains = self.subdomains.union(subdomains) page_num += per_page_num if 'start=' + str(page_num) not in resp.text: @@ -80,7 +80,7 @@ class Google(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -91,4 +91,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/google_api.py b/modules/search/google_api.py index 1a0baef..aae3e50 100644 --- a/modules/search/google_api.py +++ b/modules/search/google_api.py @@ -38,9 +38,9 @@ class GoogleAPI(Search): subdomains = self.match_subdomains(resp.text) if not subdomains: break - if not full_search: - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break self.subdomains = self.subdomains.union(subdomains) self.page_num += self.per_page_num if self.page_num > 100: # 免费的API只能查询前100条结果 @@ -74,7 +74,7 @@ class GoogleAPI(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -85,4 +85,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('mi.com') + run('mi.com') diff --git a/modules/search/shodan_api.py b/modules/search/shodan_api.py index 37def1e..21b0814 100644 --- a/modules/search/shodan_api.py +++ b/modules/search/shodan_api.py @@ -46,7 +46,7 @@ class ShodanAPI(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -57,4 +57,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/so.py b/modules/search/so.py index 9d68d94..53b10d9 100644 --- a/modules/search/so.py +++ b/modules/search/so.py @@ -34,10 +34,9 @@ class So(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break self.subdomains = self.subdomains.union(subdomains) page_num += 1 # 搜索页面没有出现下一页时停止搜索 @@ -73,7 +72,7 @@ class So(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -84,4 +83,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/sogou.py b/modules/search/sogou.py index 1a91f98..ef8f2bd 100644 --- a/modules/search/sogou.py +++ b/modules/search/sogou.py @@ -31,10 +31,9 @@ class Sogou(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break self.subdomains = self.subdomains.union(subdomains) self.page_num += 1 # 搜索页面没有出现下一页时停止搜索 @@ -71,7 +70,7 @@ class Sogou(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -82,4 +81,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/yahoo.py b/modules/search/yahoo.py index 18e7664..bc98214 100644 --- a/modules/search/yahoo.py +++ b/modules/search/yahoo.py @@ -39,10 +39,9 @@ class Yahoo(Search): subdomains = self.match_subdomains(text, fuzzy=False) if not subdomains: # 搜索没有发现子域名则停止搜索 break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break # 合并搜索子域名搜索结果 self.subdomains = self.subdomains.union(subdomains) if '>Next' not in resp.text: # 搜索页面没有出现下一页时停止搜索 @@ -78,7 +77,7 @@ class Yahoo(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -89,4 +88,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/yandex.py b/modules/search/yandex.py index 4d63225..e61d616 100644 --- a/modules/search/yandex.py +++ b/modules/search/yandex.py @@ -39,10 +39,9 @@ class Yandex(Search): subdomains = self.match_subdomains(resp.text, fuzzy=False) if not subdomains: # 搜索没有发现子域名则停止搜索 break - if not full_search: - # 搜索中发现搜索出的结果有完全重复的结果就停止搜索 - if subdomains.issubset(self.subdomains): - break + if not full_search and subdomains.issubset(self.subdomains): + # 在全搜索过程中发现搜索出的结果有完全重复的结果就停止搜索 + break # 合并搜索子域名搜索结果 self.subdomains = self.subdomains.union(subdomains) if '>next' not in resp.text: # 搜索页面没有出现下一页时停止搜索 @@ -78,7 +77,7 @@ class Yandex(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -89,4 +88,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('example.com') + run('example.com') diff --git a/modules/search/zoomeye_api.py b/modules/search/zoomeye_api.py index 3f99969..39c540c 100644 --- a/modules/search/zoomeye_api.py +++ b/modules/search/zoomeye_api.py @@ -72,7 +72,7 @@ class ZoomEyeAPI(Search): self.save_db() -def do(domain): # 统一入口名字 方便多线程调用 +def run(domain): """ 类统一调用入口 @@ -83,4 +83,4 @@ def do(domain): # 统一入口名字 方便多线程调用 if __name__ == '__main__': - do('mi.com') + run('mi.com') diff --git a/oneforall.py b/oneforall.py index 0bdf5d4..15c160e 100644 --- a/oneforall.py +++ b/oneforall.py @@ -285,5 +285,3 @@ class OneForAll(object): if __name__ == '__main__': fire.Fire(OneForAll) - # OneForAll('example.com').run() - # OneForAll('./domains.txt').run() diff --git a/takeover.py b/takeover.py index 936c35e..39ff8bb 100644 --- a/takeover.py +++ b/takeover.py @@ -166,6 +166,4 @@ class Takeover(Module): if __name__ == '__main__': fire.Fire(Takeover) - # takeover = Takeover('www.example.com') - # takeover = Takeover('./subdomains.txt') - # takeover.run() +