diff --git a/reNgine/common_func.py b/reNgine/common_func.py
index 7e8a4c78..a402e951 100644
--- a/reNgine/common_func.py
+++ b/reNgine/common_func.py
@@ -28,20 +28,32 @@ def get_interesting_subdomains(scan_history=None, target=None):
page_title_lookup_query = Q()
for key in lookup_keywords:
- subdomain_lookup_query |= Q(subdomain__icontains=key)
- page_title_lookup_query |= Q(page_title__iregex="\\y{}\\y".format(key))
+ if InterestingLookupModel.objects.filter(custom_type=True):
+ if InterestingLookupModel.objects.filter(custom_type=True).order_by('-id')[0].url_lookup:
+ subdomain_lookup_query |= Q(subdomain__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:
+ subdomain_lookup_query |= Q(subdomain__icontains=key)
+ page_title_lookup_query |= Q(page_title__iregex="\\y{}\\y".format(key))
+
+ subdomain_lookup = ScannedHost.objects.none()
+ title_lookup = ScannedHost.objects.none()
if target:
- subdomain_lookup = ScannedHost.objects.filter(
- target_domain__id=target).filter(subdomain_lookup_query).distinct('subdomain')
- title_lookup = ScannedHost.objects.filter(page_title_lookup_query).filter(
- target_domain__id=target).distinct('subdomain')
+ if subdomain_lookup_query:
+ subdomain_lookup = ScannedHost.objects.filter(
+ target_domain__id=target).filter(subdomain_lookup_query).distinct('subdomain')
+ if page_title_lookup_query:
+ title_lookup = ScannedHost.objects.filter(page_title_lookup_query).filter(
+ target_domain__id=target).distinct('subdomain')
elif scan_history:
- subdomain_lookup = ScannedHost.objects.filter(
- scan_history__id=scan_history).filter(subdomain_lookup_query)
- title_lookup = ScannedHost.objects.filter(
- scan_history__id=scan_history).filter(page_title_lookup_query)
-
+ if subdomain_lookup_query:
+ subdomain_lookup = ScannedHost.objects.filter(
+ scan_history__id=scan_history).filter(subdomain_lookup_query)
+ if page_title_lookup_query:
+ title_lookup = ScannedHost.objects.filter(
+ scan_history__id=scan_history).filter(page_title_lookup_query)
return subdomain_lookup | title_lookup
diff --git a/scanEngine/forms.py b/scanEngine/forms.py
index 318fc213..61953afd 100644
--- a/scanEngine/forms.py
+++ b/scanEngine/forms.py
@@ -178,5 +178,21 @@ class InterestingLookupForm(forms.ModelForm):
"value": 'true'
}))
+ title_lookup = forms.BooleanField(
+ required=False,
+ widget=forms.CheckboxInput(
+ attrs={
+ "class": "new-control-input",
+ }))
+
+ url_lookup = forms.BooleanField(
+ required=False,
+ widget=forms.CheckboxInput(
+ attrs={
+ "class": "new-control-input",
+ }))
+
def set_value(self, key):
self.initial['keywords'] = key.keywords
+ self.initial['title_lookup'] = key.title_lookup
+ self.initial['url_lookup'] = key.url_lookup
diff --git a/scanEngine/models.py b/scanEngine/models.py
index d559e48a..40fbbd22 100644
--- a/scanEngine/models.py
+++ b/scanEngine/models.py
@@ -45,3 +45,5 @@ class Configuration(models.Model):
class InterestingLookupModel(models.Model):
keywords = models.TextField(null=True, blank=True)
custom_type = models.BooleanField(default=False)
+ title_lookup = models.BooleanField(default=True)
+ url_lookup = models.BooleanField(default=True)
diff --git a/scanEngine/templates/scanEngine/lookup.html b/scanEngine/templates/scanEngine/lookup.html
index 81b8eebc..0d416fbf 100644
--- a/scanEngine/templates/scanEngine/lookup.html
+++ b/scanEngine/templates/scanEngine/lookup.html
@@ -7,6 +7,7 @@ Interesting entries Lookup
{% block custom_js_css_link %}
+
{% endblock custom_js_css_link %}
{% block breadcrumb_title %}
@@ -48,7 +49,18 @@ Interesting entries lookup
{{ form.custom_type }}
Press comma , to add and separate the keywords
-
+