diff --git a/reNgine/common_func.py b/reNgine/common_func.py index 19aaca79..1e2cc39c 100644 --- a/reNgine/common_func.py +++ b/reNgine/common_func.py @@ -44,8 +44,8 @@ def get_interesting_subdomains(scan_history=None, target=None): if InterestingLookupModel.objects.filter( custom_type=True) and InterestingLookupModel.objects.filter( custom_type=True).order_by('-id')[0].condition_200_http_lookup: - subdomain_lookup_query &= Q(http_status=200) - page_title_lookup_query &= Q(http_status=200) + subdomain_lookup_query &= Q(http_status__exact=200) + page_title_lookup_query &= Q(http_status__exact=200) subdomain_lookup = ScannedHost.objects.none() title_lookup = ScannedHost.objects.none() @@ -74,18 +74,36 @@ def get_interesting_endpoint(scan_history=None, target=None): page_title_lookup_query = Q() for key in lookup_keywords: - url_lookup_query |= Q(http_url__icontains=key) - page_title_lookup_query |= Q(page_title__iregex="\\y{}\\y".format(key)) + if InterestingLookupModel.objects.filter(custom_type=True).exists(): + if InterestingLookupModel.objects.filter(custom_type=True).order_by('-id')[0].url_lookup: + url_lookup_query |= Q(http_url__icontains=key) + if InterestingLookupModel.objects.filter(custom_type=True).order_by('-id')[0].title_lookup: + page_title_lookup_query |= Q(page_title__iregex="\\y{}\\y".format(key)) + + else: + url_lookup_query |= Q(http_url__icontains=key) + page_title_lookup_query |= Q(page_title__iregex="\\y{}\\y".format(key)) + + if InterestingLookupModel.objects.filter(custom_type=True) and InterestingLookupModel.objects.filter(custom_type=True).order_by('-id')[0].condition_200_http_lookup: + url_lookup_query &= Q(http_status__exact=200) + page_title_lookup_query &= Q(http_status__exact=200) + + url_lookup = WayBackEndPoint.objects.none() + title_lookup = WayBackEndPoint.objects.none() if target: - url_lookup = WayBackEndPoint.objects.filter( - target_domain__id=target).filter(url_lookup_query).distinct('http_url') - title_lookup = WayBackEndPoint.objects.filter( - target_domain__id=target).filter(page_title_lookup_query).distinct('http_url') + if url_lookup_query: + url_lookup = WayBackEndPoint.objects.filter( + target_domain__id=target).filter(url_lookup_query).distinct('http_url') + if page_title_lookup_query: + title_lookup = WayBackEndPoint.objects.filter( + target_domain__id=target).filter(page_title_lookup_query).distinct('http_url') elif scan_history: - url_lookup = WayBackEndPoint.objects.filter( - url_of__id=scan_history).filter(url_lookup_query) - title_lookup = WayBackEndPoint.objects.filter( - url_of__id=scan_history).filter(page_title_lookup_query) + if url_lookup_query: + url_lookup = WayBackEndPoint.objects.filter( + url_of__id=scan_history).filter(url_lookup_query) + if page_title_lookup_query: + title_lookup = WayBackEndPoint.objects.filter( + url_of__id=scan_history).filter(page_title_lookup_query) return url_lookup | title_lookup