Example #1
0
 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}/'
Example #2
0
 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
Example #3
0
 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
Example #4
0
 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='
Example #5
0
 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
Example #6
0
 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, [])
Example #9
0
 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
Example #11
0
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
Example #12
0
 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
Example #13
0
 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
Example #14
0
 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
Example #15
0
 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
Example #16
0
 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'
Example #17
0
 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
Example #18
0
 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
Example #19
0
 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
Example #20
0
 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
Example #21
0
 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
Example #22
0
 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秒
Example #23
0
 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秒
Example #24
0
 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
Example #25
0
 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
Example #26
0
 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次
Example #27
0
 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次
Example #28
0
    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)
Example #29
0
 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)
Example #30
0
    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
        ]