import requests import re,linecache,argparse
head={'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
def Banner(): print(" _ ____ _ _ ") print(" | | _ _/ ___|| |__ __ _ _ __| | __") print(" | | | | | \___ \| '_ \ / _` | '__| |/ /") print(" | |__| |_| |___) | | | | (_| | | | < ") print(" |_____\__, |____/|_| |_|\__,_|_| |_|\_\\") print(" |___/ \n") print("E-Mail: me@lyshark.com")
def SearchDomain(domain): url = "https://crt.sh/?q=" + domain try: req = requests.get(url=url,headers=head,timeout=10) result = re.findall('<TD>(.*?)</TD>\n <TD><A',req.text,re.S) for item in result: print(item) except Exception: pass
def VisitWeb(prefix,domain): try: url = "https://{}.{}".format(prefix,domain) ret = requests.get(url=url, headers=head, timeout=1) if(ret.status_code == 200): return 1 else: return 0 except: return 0
def BlastWeb(domain,wordlist): forlen = len(linecache.getlines(wordlist)) fp = open(wordlist,"r+") for i in range(0,forlen): main = str(fp.readline().split()[0]) if VisitWeb(main, domain) != 0: print("旁站: {}.{} 存在".format(main,domain))
if __name__ == "__main__": Banner() def RunCMD(argc, args): if (argc == "Search"): SearchDomain(args[0]) elif (argc == "Blast"): SubDomain = args[0] WordList = args[1] BlastWeb(SubDomain,WordList)
Usage = "[*] Usage : main.py -a [Search | Blast] xxx.com" parser = argparse.ArgumentParser(usage=Usage) parser.add_argument("-a",dest="RunCMD",help="查询子域名命令") args = parser.parse_args() if args.RunCMD: argc = args.RunCMD RunCMD(argc,args) else: parser.print_help()
|