Ejemplo n.º 1
0
 def search(self, dork, pages=2):
     search_result = set()
     headers = {
         "X-QuakeToken": self.token,
         "Content-Type": "application/json"
     }
     data = {"query": dork, "size": 10, "ignore_cache": "false", "start": 1}
     try:
         for page in range(1, pages + 1):
             data['start'] = page
             url = "https://quake.360.cn/api/v3/search/quake_service"
             resp = requests.post(url,
                                  json=data,
                                  headers=headers,
                                  timeout=80)
             if resp and resp.status_code == 200 and resp.json(
             )['code'] == 0:
                 content = resp.json()
                 for match in content['data']:
                     search_result.add("%s:%s" %
                                       (match['ip'], match['port']))
             else:
                 logger.error("[PLUGIN] Quake:{}".format(resp.text))
     except Exception as ex:
         logger.error(str(ex))
     return search_result
Ejemplo n.º 2
0
	def new_token(self):
		data = '{{"username": "******", "password": "******"}}'.format(self.username, self.password)
		try:
			resp = requests.post('https://api.zoomeye.org/user/login', data = data, )
			if resp.status_code != 401 and "access_token" in resp.json():
				content = resp.json()
				self.token = content['access_token']
				self.headers = {'Authorization': 'JWT %s' % self.token}
				return True
		except Exception as ex:
			logger.error(str(ex))
		return False