def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'DNSdbQuery' self.addr = 'http://www.dnsdb.org/' self.url = f'{self.addr}{self.domain}/'
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'DNSdbAPIQuery' self.addr = 'https://api.dnsdb.info/lookup/rrset/name/' self.api = config.dnsdb_api_key
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'BinaryEdgeAPIQuery' self.addr = 'https://api.binaryedge.io/v2/query/domains/subdomain/' self.api = config.binaryedge_api
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Dataset' self.source = 'ThreatCrowdQuery' self.addr = 'https://www.threatcrowd.org/searchApi' \ '/v2/domain/report?domain='
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Intelligence' self.source = 'ThreatBookAPIQuery' self.addr = 'https://api.threatbook.cn/v3/domain/sub_domains' self.key = settings.threatbook_api_key
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'ChinazAPIQuery' self.addr = 'https://apidata.chinaz.com/CallAPI/Alexa' self.api = config.chinaz_api
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'IPv4InfoAPIQuery' self.addr = ' http://ipv4info.com/api_v1/' self.api = config.ipv4info_api_key
def test_selecting_with_conditions_returns_nothing_because_of_incorrect_value(self): query = Query("authentication") records = query.select().where(username="******", password="******").get() self.assertIsInstance(records, list) self.assertListEqual(records, [])
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Certificate' self.source = 'CertDBAPIQuery' self.addr = 'https://api.spyse.com/v1/subdomains' self.token = config.spyse_api_token
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Intelligence' self.source = 'ThreatBookAPIQuery' self.addr = 'https://x.threatbook.cn/api/v1/domain/query' self.key = api.threatbook_api_key
def validate_credentials(): try: auth_header = request.headers.get("Authorization") if not auth_header or "Bearer" not in auth_header: return "Bad authorization header", 403 auth_header_data = auth_header.split(" ") if not len(auth_header_data) == 2: return "Bad authorization header", 401 query = Query('authentication') _, token = auth_header_data decoded_data = jwt.decode(token, JWT_SECRET_KEY) username = decoded_data.get('username') password = decoded_data.get('password') user = query.select().where(username=username, password=password).get() if len(user) == 0: return "User was not found", 404 except Exception: return "Token is invalid", 403
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Dataset' self.source = 'ChinazAPIQuery' self.addr = 'https://apidata.chinaz.com/CallAPI/Alexa' self.api = settings.chinaz_api
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Intelligence' self.source = 'VirusTotalAPIQuery' self.addr = 'https://www.virustotal.com/vtapi/v2/domain/report' self.key = api.virustotal_api_key
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'PassiveDnsQuery' self.addr = config.passivedns_api_addr or 'http://api.passivedns.cn' self.token = config.passivedns_api_token
def __init__(self, domain): Query.__init__(self) self.domain = self.get_maindomain(domain) self.module = 'Dataset' self.source = 'PassiveDnsQuery' self.addr = api.passivedns_api_addr or 'http://api.passivedns.cn' self.token = api.passivedns_api_token
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Certificate' self.source = 'GoogleQuery' self.addr = 'https://transparencyreport.google.com/' \ 'transparencyreport/api/v3/httpsreport/ct/certsearch'
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Dataset' self.source = 'IPv4InfoAPIQuery' self.addr = ' http://ipv4info.com/api_v1/' self.api = settings.ipv4info_api_key
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'CirclAPIQuery' self.addr = 'https://www.circl.lu/pdns/query/' self.user = config.circl_api_username self.pwd = config.circl_api_password
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Intelligence' self.source = 'RiskIQAPIQuery' self.addr = 'https://api.passivetotal.org/v2/enrichment/subdomains' self.user = config.riskiq_api_username self.key = config.riskiq_api_key
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Intelligence' self.source = 'RiskIQAPIQuery' self.addr = 'https://api.riskiq.net/pt/v2/enrichment/subdomains' self.user = settings.riskiq_api_username self.key = settings.riskiq_api_key
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Dataset' self.source = 'NetCraftQuery' self.addr = 'https://searchdns.netcraft.com/?restriction=site+contains&position=limited' self.page_num = 1 self.per_page_num = 20
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Dataset' self.source = 'SecurityTrailsAPIQuery' self.addr = 'https://api.securitytrails.com/v1/domain/' self.api = settings.securitytrails_api self.delay = 2 # SecurityTrails查询时延至少2秒
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'SecurityTrailsQuery' self.addr = 'https://api.securitytrails.com/v1/domain/' self.api = config.securitytrails_api self.delay = 2 # SecurityTrails查询时延至少2秒
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Certificate' self.source = "CensysAPIQuery" self.addr = 'https://www.censys.io/api/v1/search/certificates' self.id = settings.censys_api_id self.secret = settings.censys_api_secret self.delay = 3.0 # Censys interface query rate limit as fast as 2.5 seconds to check once
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Dataset' self.source = 'SiteDossierQuery' self.addr = 'http://www.sitedossier.com/parentdomain/' self.delay = 2 self.page_num = 1 self.per_page_num = 100
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Certificate' self.source = "CensysAPIQuery" self.addr = 'https://search.censys.io/api/v1/search/certificates' self.id = settings.censys_api_id self.secret = settings.censys_api_secret self.delay = 3.0 # Censys 接口查询速率限制 最快2.5秒查1次
def __init__(self, domain): Query.__init__(self) self.domain = self.register(domain) self.module = 'Certificate' self.source = "CensysAPIQuery" self.addr = 'https://www.censys.io/api/v1/search/certificates' self.id = config.censys_api_id self.secret = config.censys_api_secret self.delay = 3.0 # Censys 接口查询速率限制 最快2.5秒查1次
def get(self, employee_id=None): if employee_id is None: query = Query("employees") employees = query.select().get() return json.dumps(employees) payment = Payment() payments = payment.get_employee_reports(employee_id) return json.dumps(payments)
def __init__(self, domain): Query.__init__(self) self.domain = domain self.module = 'Dataset' self.source = 'CloudFlareAPIQuery' self.token = settings.cloudflare_api_token self.addr = 'https://api.cloudflare.com/client/v4/' self.header = self.get_header() self.header.update({'Authorization': 'Bearer ' + self.token}) self.header.update({'Content-Type': 'application/json'}) self.proxy = self.get_proxy(self.source)
def get_employee_reports(self, employee_id): query = Query("pays") payment_records = query.select().where(employee_id=employee_id).get() financial_year_payments = self.separate_payments_by_financial_year( payment_records) return [ self.compress_financial_year_records(year) for year in financial_year_payments ]