Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def score_domain(config, domain, args):
""" """
score = 0
for t in config["tlds"]:
if domain.endswith(t):
score += 20
try:
res = get_tld(domain, as_object=True, fail_silently=True, fix_protocol=True)
if res is not None:
domain = '.'.join([res.subdomain, res.domain])
except Exception as err:
message_failed(args, err, domain)
pass
score += int(round(entropy.shannon_entropy(domain)*50))
domain = unconfuse(domain)
words_in_domain = re.split(r"\W+", domain)
if words_in_domain[0] in ["com", "net", "org"]:
score += 10
for word in config["keywords"]:
def __get_top_level_domain__(self):
try:
if is_ip(self.domain) or not self.domain or self.domain == '':
return None
d = get_tld('http://www.'+self.domain)
if d.find('www.') >= 0:
return d.split('www.')[1]
else:
return d
except:
return None
def _add_tld_column(self):
qry_name_col = self._conf['dns_results_fields']['dns_qry_name']
self._dns_scores = [conn + [ get_tld("http://" + str(conn[qry_name_col]), fail_silently=True) if "http://" not in str(conn[qry_name_col]) else get_tld(str(conn[qry_name_col]), fail_silently=True)] for conn in self._dns_scores ]
sublist.append(a)
except IOError:
print(R+' [-] Wordlist not found!')
global found
if 'http://' in web:
web = web.replace('http://','')
elif 'https://' in web:
web = web.replace('https://','')
else:
pass
web = 'http://' + web
tld0 = get_tld(web, as_object=True)
if len(sublist) > 0:
for m in sublist:
furl = str(m) + '.' + str(tld0)
flist.append(furl)
if flist:
time.sleep(0.5)
print(R+'\n B R U T E F O R C E R')
print(R+' =======================\n')
print(GR+' [*] Bruteforcing for possible subdomains...')
for url in flist:
if 'http://' in url:
url = url.replace('http://','')
elif 'https://' in url:
url = url.replace('https://','')
def get_domain(url):
"""
获取url中的全域名
:param url:
:return:
"""
try:
res = get_tld(url, as_object=True)
except:
return False
return "{}.{}".format(res.subdomain, res.tld)
def canonicalize(host):
if not host:
raise HostValidateException('Hosts cannot be None')
if not isinstance(host, str) and not isinstance(host, unicode):
raise HostValidateException('Hosts must be strings')
host = host.strip().lower()
try:
tld.get_tld('http://{}'.format(host))
except tld.exceptions.TldDomainNotFound:
raise HostValidateException('Invalid tld for host {}'.format(host))
return host
def extract_base_domain(url):
"""Extract and return the base domain name from the url."""
tld = get_tld(url)
u = re.search('.+%s' %tld, url)
if u:
return u.group()
else:
return ""
def _get_zone_id(domain):
tld = get_tld('http://' + domain)
url = "https://api.cloudflare.com/client/v4/zones?name={0}".format(tld)
r = requests.get(url, headers=CF_HEADERS)
r.raise_for_status()
return r.json()['result'][0]['id']
def extract_tld(self, url):
try:
return get_tld(url)
except:
traceback.print_exc()
print "\n\nInvalid url: %s" % url
return url
def domain(self):
"""
Domain of the url
"""
return get_tld(self.url, fail_silently=True)