theHarvester/discovery/constants.py

51 lines
1.5 KiB
Python
Raw Normal View History

2018-12-30 10:29:25 +08:00
import random
2019-01-11 11:56:49 +08:00
2019-01-14 07:58:38 +08:00
googleUA = 'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1464.0 Safari/537.36'
2018-12-30 10:29:25 +08:00
def filter(lst):
"""
Method that filters list
:param lst: list to be filtered
:return: new filtered list
"""
2019-01-11 10:09:47 +08:00
lst = set(lst) # Remove duplicates.
2018-12-30 10:29:25 +08:00
new_lst = []
for item in lst:
2019-01-02 10:38:59 +08:00
item = str(item)
2018-12-30 10:29:25 +08:00
if (item[0].isalpha() or item[0].isdigit()) and ('xxx' not in item) and ('..' not in item):
if '252f' in item:
item = item.replace('252f', '')
2019-01-02 10:38:59 +08:00
if '2F' in item:
item = item.replace('2F', '')
if '2f' in item:
item = item.replace('2f', '')
new_lst.append(item.lower())
2018-12-30 10:29:25 +08:00
return new_lst
def getDelay():
return random.randint(1, 3) - .5
def search(text):
2019-01-11 10:09:47 +08:00
# Helper function to check if Google has blocked traffic.
2018-12-30 10:29:25 +08:00
for line in text.strip().splitlines():
if 'This page appears when Google automatically detects requests coming from your computer network' in line:
print('\tGoogle is blocking your IP due to too many automated requests, wait or change your IP')
return True
return False
class MissingKey(Exception):
def __init__(self, identity_flag):
2019-01-11 11:56:49 +08:00
if identity_flag:
2019-01-14 07:58:38 +08:00
self.message = '\n\033[93m[!] Missing API key. \033[0m'
2018-12-30 10:29:25 +08:00
else:
2019-01-14 07:58:38 +08:00
self.message = '\n\033[93m[!] Missing CSE id. \033[0m'
2018-12-30 10:29:25 +08:00
def __str__(self):
return self.message