66
77from lib .settings import start_animation
88from lib .errors import AutoSploitAPIConnectionError
9- from lib .output import error
109from lib .settings import (
1110 API_URLS ,
1211 HOST_FILE ,
@@ -21,9 +20,11 @@ class ZoomEyeAPIHook(object):
2120 so we're going to use some 'lifted' credentials to login for us
2221 """
2322
24- def __init__ (self , query ):
23+ def __init__ (self , query = None , proxy = None , agent = None , ** kwargs ):
2524 self .query = query
2625 self .host_file = HOST_FILE
26+ self .proxy = proxy
27+ self .user_agent = agent
2728 self .user_file = "{}/etc/text_files/users.lst" .format (os .getcwd ())
2829 self .pass_file = "{}/etc/text_files/passes.lst" .format (os .getcwd ())
2930
@@ -61,9 +62,18 @@ def zoomeye(self):
6162 discovered_zoomeye_hosts = set ()
6263 try :
6364 token = self .__get_auth ()
64- headers = {"Authorization" : "JWT {}" .format (str (token ["access_token" ]))}
65+ if self .user_agent is None :
66+ headers = {"Authorization" : "JWT {}" .format (str (token ["access_token" ]))}
67+ else :
68+ headers = {
69+ "Authorization" : "JWT {}" .format (str (token ["access_token" ])),
70+ "agent" : self .user_agent ["User-Agent" ]
71+ }
6572 params = {"query" : self .query , "page" : "1" , "facet" : "ipv4" }
66- req = requests .get (API_URLS ["zoomeye" ][1 ].format (query = self .query ), params = params , headers = headers )
73+ req = requests .get (
74+ API_URLS ["zoomeye" ][1 ].format (query = self .query ),
75+ params = params , headers = headers , proxies = self .proxy
76+ )
6777 _json_data = req .json ()
6878 for item in _json_data ["matches" ]:
6979 if len (item ["ip" ]) > 1 :
@@ -74,6 +84,5 @@ def zoomeye(self):
7484 write_to_file (discovered_zoomeye_hosts , self .host_file )
7585 return True
7686 except Exception as e :
77- error (AutoSploitAPIConnectionError (str (e )))
78- return False
87+ raise AutoSploitAPIConnectionError (str (e ))
7988
0 commit comments