From db640cb49fb15b2bb59cb54f80dc7df431640a0d Mon Sep 17 00:00:00 2001 From: Yogesh Ojha Date: Sun, 10 Jul 2022 23:43:15 +0530 Subject: [PATCH] Fix waf detection --- web/fixtures/default_scan_engines.yaml | 5 +++++ web/reNgine/tasks.py | 1 + .../0029_scanhistory_waf_detection.py | 18 ++++++++++++++++++ web/startScan/models.py | 1 + .../startScan/_items/scanEngine_select.html | 12 ++++++++++++ 5 files changed, 37 insertions(+) create mode 100644 web/startScan/migrations/0029_scanhistory_waf_detection.py diff --git a/web/fixtures/default_scan_engines.yaml b/web/fixtures/default_scan_engines.yaml index a5ee40e7..e2dd45f3 100644 --- a/web/fixtures/default_scan_engines.yaml +++ b/web/fixtures/default_scan_engines.yaml @@ -3,6 +3,7 @@ fields: engine_name: Full Scan subdomain_discovery: true + waf_detection: true dir_file_fuzz: true port_scan: true fetch_url: true @@ -36,6 +37,7 @@ fields: engine_name: Subdomain Only Scan subdomain_discovery: true + waf_detection: true dir_file_fuzz: false port_scan: false fetch_url: false @@ -69,6 +71,7 @@ fields: engine_name: OSINT Only subdomain_discovery: false + waf_detection: false dir_file_fuzz: false port_scan: false fetch_url: false @@ -102,6 +105,7 @@ fields: engine_name: Vulnerability Scan Only subdomain_discovery: true + waf_detection: false dir_file_fuzz: false port_scan: false fetch_url: false @@ -135,6 +139,7 @@ fields: engine_name: reNgine Recommended subdomain_discovery: true + waf_detection: true dir_file_fuzz: true port_scan: false fetch_url: false diff --git a/web/reNgine/tasks.py b/web/reNgine/tasks.py index 9b19677d..52c63fc6 100644 --- a/web/reNgine/tasks.py +++ b/web/reNgine/tasks.py @@ -214,6 +214,7 @@ def initiate_scan( task.scan_status = 1 task.start_scan_date = timezone.now() task.subdomain_discovery = True if engine_object.subdomain_discovery else False + task.waf_detection = True if engine_object.waf_detection else False task.dir_file_fuzz = True if engine_object.dir_file_fuzz else False task.port_scan = True if engine_object.port_scan else False task.fetch_url = True if engine_object.fetch_url else False diff --git a/web/startScan/migrations/0029_scanhistory_waf_detection.py b/web/startScan/migrations/0029_scanhistory_waf_detection.py new file mode 100644 index 00000000..3fa314e6 --- /dev/null +++ b/web/startScan/migrations/0029_scanhistory_waf_detection.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.4 on 2022-07-10 18:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('startScan', '0028_auto_20220710_1140'), + ] + + operations = [ + migrations.AddField( + model_name='scanhistory', + name='waf_detection', + field=models.BooleanField(default=False, null=True), + ), + ] diff --git a/web/startScan/models.py b/web/startScan/models.py index b0d9a9a1..b8ef18e3 100644 --- a/web/startScan/models.py +++ b/web/startScan/models.py @@ -23,6 +23,7 @@ class ScanHistory(models.Model): scan_type = models.ForeignKey(EngineType, on_delete=models.CASCADE) celery_id = models.CharField(max_length=100, blank=True) subdomain_discovery = models.BooleanField(null=True, default=False) + waf_detection = models.BooleanField(null=True, default=False) dir_file_fuzz = models.BooleanField(null=True, default=False) port_scan = models.BooleanField(null=True, default=False) fetch_url = models.BooleanField(null=True, default=False) diff --git a/web/startScan/templates/startScan/_items/scanEngine_select.html b/web/startScan/templates/startScan/_items/scanEngine_select.html index 253bf408..e3589593 100644 --- a/web/startScan/templates/startScan/_items/scanEngine_select.html +++ b/web/startScan/templates/startScan/_items/scanEngine_select.html @@ -32,6 +32,18 @@ {% endif %} + + +

WAF Detection + + + {% if engine.waf_detection %} + {% include 'base/_items/green_tick.html' %} + {% else %} + {% include 'base/_items/red_cross.html' %} + {% endif %} + +

Screenshot