From 1f95e0cf434e748fc6e593a76db8ecb7c79ed5c8 Mon Sep 17 00:00:00 2001 From: Yogesh Ojha Date: Tue, 12 May 2020 19:11:44 +0530 Subject: [PATCH 1/3] Add Engine Form template imported --- scanEngine/forms.py | 7 +++++++ .../scanEngine/_items/add_engine_form.html | 16 ++++++++++++++ .../templates/scanEngine/add_engine.html | 21 +++++++++++++++++++ scanEngine/urls.py | 1 + scanEngine/views.py | 13 ++++++++++-- 5 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 scanEngine/forms.py create mode 100644 scanEngine/templates/scanEngine/_items/add_engine_form.html create mode 100644 scanEngine/templates/scanEngine/add_engine.html diff --git a/scanEngine/forms.py b/scanEngine/forms.py new file mode 100644 index 00000000..93eaa926 --- /dev/null +++ b/scanEngine/forms.py @@ -0,0 +1,7 @@ +from django import forms +from scanEngine.models import EngineType + +class AddEngineForm(forms.ModelForm): + class Meta: + model = EngineType + fields = [] diff --git a/scanEngine/templates/scanEngine/_items/add_engine_form.html b/scanEngine/templates/scanEngine/_items/add_engine_form.html new file mode 100644 index 00000000..305b403d --- /dev/null +++ b/scanEngine/templates/scanEngine/_items/add_engine_form.html @@ -0,0 +1,16 @@ +
+
+
+
+
+

Add Engine Type

+
+
+
+
+
+ {{form}} +
+
+
+
diff --git a/scanEngine/templates/scanEngine/add_engine.html b/scanEngine/templates/scanEngine/add_engine.html new file mode 100644 index 00000000..8c1ba376 --- /dev/null +++ b/scanEngine/templates/scanEngine/add_engine.html @@ -0,0 +1,21 @@ +{% extends 'base/base.html' %} +{% load static %} + +{% block title %} +Add Engine Type +{% endblock title %} + + +{% block custom_js_css_link %} +{% endblock custom_js_css_link %} + +{% block main_content %} + {% include 'scanEngine/_items/add_engine_form.html'%} +{% endblock main_content %} + + +{% block page_level_script %} + + + +{% endblock page_level_script %} diff --git a/scanEngine/urls.py b/scanEngine/urls.py index c8568a8c..1c0d2fae 100644 --- a/scanEngine/urls.py +++ b/scanEngine/urls.py @@ -5,4 +5,5 @@ from . import views urlpatterns = [ path('', views.index, name='scan_engine_index'), + path('add', views.add_engine, name='add_engine'), ] diff --git a/scanEngine/views.py b/scanEngine/views.py index 802d2a08..afe83bef 100644 --- a/scanEngine/views.py +++ b/scanEngine/views.py @@ -1,7 +1,16 @@ from django.shortcuts import render -from .models import EngineType +from scanEngine.models import EngineType +from scanEngine.forms import AddEngineForm def index(request): engine_type = EngineType.objects.all().order_by('id') - context = {'scan_engine_nav_active': 'true', 'engine_type': engine_type} + context = {'scan_engine_nav_active': 'true', + 'engine_type': engine_type, + } return render(request, 'scanEngine/index.html', context) + +def add_engine(request): + form = AddEngineForm() + context = {'scan_engine_nav_active': 'true', + 'form': form} + return render(request, 'scanEngine/add_engine.html') From f66ba60cc3f08665af3be725432ccbe35257385a Mon Sep 17 00:00:00 2001 From: Yogesh Ojha Date: Tue, 12 May 2020 23:57:10 +0530 Subject: [PATCH 2/3] Add Engine Form built --- scanEngine/forms.py | 21 +++++- .../scanEngine/_items/add_engine_form.html | 74 ++++++++++++++++++- .../templates/scanEngine/add_engine.html | 2 + scanEngine/views.py | 2 +- static/assets/css/custom.css | 5 ++ targetApp/forms.py | 5 -- targetApp/views.py | 2 +- 7 files changed, 99 insertions(+), 12 deletions(-) create mode 100644 static/assets/css/custom.css diff --git a/scanEngine/forms.py b/scanEngine/forms.py index 93eaa926..52f002ef 100644 --- a/scanEngine/forms.py +++ b/scanEngine/forms.py @@ -4,4 +4,23 @@ from scanEngine.models import EngineType class AddEngineForm(forms.ModelForm): class Meta: model = EngineType - fields = [] + fields = '__all__' + scan_type_name = forms.CharField( + required=True, + widget=forms.TextInput( + attrs={ + "class": "form-control", + "id": "scan_engine_name", + "placeholder":"Custom Engine" + } + )) + subdomain_discovery = forms.BooleanField( + widget=forms.CheckboxInput(attrs={"checked":"", "disabled":""})) + dir_file_search = forms.BooleanField( + widget=forms.CheckboxInput(attrs={})) + subdomain_takeover = forms.BooleanField( + widget=forms.CheckboxInput(attrs={})) + param_discovery = forms.BooleanField( + widget=forms.CheckboxInput(attrs={})) + port_scan = forms.BooleanField( + widget=forms.CheckboxInput(attrs={"checked":""})) diff --git a/scanEngine/templates/scanEngine/_items/add_engine_form.html b/scanEngine/templates/scanEngine/_items/add_engine_form.html index 305b403d..1042905b 100644 --- a/scanEngine/templates/scanEngine/_items/add_engine_form.html +++ b/scanEngine/templates/scanEngine/_items/add_engine_form.html @@ -3,14 +3,80 @@
-

Add Engine Type

+

Add Scan Engine Name

-
- {{form}} -
+
+ {% csrf_token %} +
+
+ + {{ form.scan_type_name }} +
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+
Subdomain Discovery
+
+ +
+
Subdomain Takeover
+
+ +
+
Directory and Files Search
+
+ +
+
Parameter Discovery
+
+ +
+
Port Scan
+
+ +
+
+ +
diff --git a/scanEngine/templates/scanEngine/add_engine.html b/scanEngine/templates/scanEngine/add_engine.html index 8c1ba376..8db96114 100644 --- a/scanEngine/templates/scanEngine/add_engine.html +++ b/scanEngine/templates/scanEngine/add_engine.html @@ -7,6 +7,8 @@ Add Engine Type {% block custom_js_css_link %} + + {% endblock custom_js_css_link %} {% block main_content %} diff --git a/scanEngine/views.py b/scanEngine/views.py index afe83bef..2f349f24 100644 --- a/scanEngine/views.py +++ b/scanEngine/views.py @@ -13,4 +13,4 @@ def add_engine(request): form = AddEngineForm() context = {'scan_engine_nav_active': 'true', 'form': form} - return render(request, 'scanEngine/add_engine.html') + return render(request, 'scanEngine/add_engine.html', context) diff --git a/static/assets/css/custom.css b/static/assets/css/custom.css new file mode 100644 index 00000000..27a497d7 --- /dev/null +++ b/static/assets/css/custom.css @@ -0,0 +1,5 @@ +.vertical-align-content{ + display: flex; + align-items: center; + flex-wrap: wrap; +} diff --git a/targetApp/forms.py b/targetApp/forms.py index 972e65d2..1e44b3e2 100644 --- a/targetApp/forms.py +++ b/targetApp/forms.py @@ -2,11 +2,6 @@ from django import forms from .models import Domain from .validators import validate_domain -class AddDomainForm(forms.ModelForm): - class Meta: - model = Domain - fields = ['domain_name', 'domain_description'] - class RawDomainForm(forms.Form): domain_name = forms.CharField( validators=[validate_domain], diff --git a/targetApp/views.py b/targetApp/views.py index 645c24d2..6af551b5 100644 --- a/targetApp/views.py +++ b/targetApp/views.py @@ -2,7 +2,7 @@ from django.shortcuts import render, get_object_or_404 from django import http from .models import Domain from django.contrib import messages -from .forms import AddDomainForm, RawDomainForm, UpdateDomainForm +from .forms import RawDomainForm, UpdateDomainForm from django.utils import timezone from django.urls import reverse From dc239ebe106a25627c43a82d3ce95158fc9bd0cd Mon Sep 17 00:00:00 2001 From: Yogesh Ojha Date: Wed, 13 May 2020 18:29:52 +0530 Subject: [PATCH 3/3] addNewEngineForm working --- scanEngine/forms.py | 5 +++ .../migrations/0002_auto_20200513_1213.py | 33 ++++++++++++++++ .../migrations/0003_auto_20200513_1229.py | 38 +++++++++++++++++++ .../migrations/0004_auto_20200513_1234.py | 18 +++++++++ .../migrations/0005_auto_20200513_1235.py | 18 +++++++++ .../migrations/0006_auto_20200513_1235.py | 23 +++++++++++ .../migrations/0007_auto_20200513_1239.py | 18 +++++++++ scanEngine/models.py | 10 ++--- .../scanEngine/_items/add_engine_form.html | 4 ++ scanEngine/templates/scanEngine/index.html | 2 +- scanEngine/views.py | 9 +++++ 11 files changed, 172 insertions(+), 6 deletions(-) create mode 100644 scanEngine/migrations/0002_auto_20200513_1213.py create mode 100644 scanEngine/migrations/0003_auto_20200513_1229.py create mode 100644 scanEngine/migrations/0004_auto_20200513_1234.py create mode 100644 scanEngine/migrations/0005_auto_20200513_1235.py create mode 100644 scanEngine/migrations/0006_auto_20200513_1235.py create mode 100644 scanEngine/migrations/0007_auto_20200513_1239.py diff --git a/scanEngine/forms.py b/scanEngine/forms.py index 52f002ef..da61fdd4 100644 --- a/scanEngine/forms.py +++ b/scanEngine/forms.py @@ -15,12 +15,17 @@ class AddEngineForm(forms.ModelForm): } )) subdomain_discovery = forms.BooleanField( + required=True, widget=forms.CheckboxInput(attrs={"checked":"", "disabled":""})) dir_file_search = forms.BooleanField( + required=False, widget=forms.CheckboxInput(attrs={})) subdomain_takeover = forms.BooleanField( + required=False, widget=forms.CheckboxInput(attrs={})) param_discovery = forms.BooleanField( + required=False, widget=forms.CheckboxInput(attrs={})) port_scan = forms.BooleanField( + required=False, widget=forms.CheckboxInput(attrs={"checked":""})) diff --git a/scanEngine/migrations/0002_auto_20200513_1213.py b/scanEngine/migrations/0002_auto_20200513_1213.py new file mode 100644 index 00000000..41c8fb73 --- /dev/null +++ b/scanEngine/migrations/0002_auto_20200513_1213.py @@ -0,0 +1,33 @@ +# Generated by Django 3.0.6 on 2020-05-13 12:13 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanEngine', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='enginetype', + name='dir_file_search', + field=models.BooleanField(blank=True, default=False), + ), + migrations.AlterField( + model_name='enginetype', + name='param_discovery', + field=models.BooleanField(blank=True, default=False), + ), + migrations.AlterField( + model_name='enginetype', + name='port_scan', + field=models.BooleanField(blank=True, default=False), + ), + migrations.AlterField( + model_name='enginetype', + name='subdomain_takeover', + field=models.BooleanField(blank=True, default=False), + ), + ] diff --git a/scanEngine/migrations/0003_auto_20200513_1229.py b/scanEngine/migrations/0003_auto_20200513_1229.py new file mode 100644 index 00000000..fab9afd8 --- /dev/null +++ b/scanEngine/migrations/0003_auto_20200513_1229.py @@ -0,0 +1,38 @@ +# Generated by Django 3.0.6 on 2020-05-13 12:29 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanEngine', '0002_auto_20200513_1213'), + ] + + operations = [ + migrations.AlterField( + model_name='enginetype', + name='dir_file_search', + field=models.BooleanField(), + ), + migrations.AlterField( + model_name='enginetype', + name='param_discovery', + field=models.BooleanField(), + ), + migrations.AlterField( + model_name='enginetype', + name='port_scan', + field=models.BooleanField(), + ), + migrations.AlterField( + model_name='enginetype', + name='subdomain_discovery', + field=models.BooleanField(), + ), + migrations.AlterField( + model_name='enginetype', + name='subdomain_takeover', + field=models.BooleanField(), + ), + ] diff --git a/scanEngine/migrations/0004_auto_20200513_1234.py b/scanEngine/migrations/0004_auto_20200513_1234.py new file mode 100644 index 00000000..60ba8039 --- /dev/null +++ b/scanEngine/migrations/0004_auto_20200513_1234.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.6 on 2020-05-13 12:34 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanEngine', '0003_auto_20200513_1229'), + ] + + operations = [ + migrations.AlterField( + model_name='enginetype', + name='port_scan', + field=models.BooleanField(default=True), + ), + ] diff --git a/scanEngine/migrations/0005_auto_20200513_1235.py b/scanEngine/migrations/0005_auto_20200513_1235.py new file mode 100644 index 00000000..036cdbf0 --- /dev/null +++ b/scanEngine/migrations/0005_auto_20200513_1235.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.6 on 2020-05-13 12:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanEngine', '0004_auto_20200513_1234'), + ] + + operations = [ + migrations.AlterField( + model_name='enginetype', + name='param_discovery', + field=models.BooleanField(default=True), + ), + ] diff --git a/scanEngine/migrations/0006_auto_20200513_1235.py b/scanEngine/migrations/0006_auto_20200513_1235.py new file mode 100644 index 00000000..f186eea9 --- /dev/null +++ b/scanEngine/migrations/0006_auto_20200513_1235.py @@ -0,0 +1,23 @@ +# Generated by Django 3.0.6 on 2020-05-13 12:35 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanEngine', '0005_auto_20200513_1235'), + ] + + operations = [ + migrations.AlterField( + model_name='enginetype', + name='param_discovery', + field=models.BooleanField(), + ), + migrations.AlterField( + model_name='enginetype', + name='port_scan', + field=models.BooleanField(), + ), + ] diff --git a/scanEngine/migrations/0007_auto_20200513_1239.py b/scanEngine/migrations/0007_auto_20200513_1239.py new file mode 100644 index 00000000..c882861f --- /dev/null +++ b/scanEngine/migrations/0007_auto_20200513_1239.py @@ -0,0 +1,18 @@ +# Generated by Django 3.0.6 on 2020-05-13 12:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanEngine', '0006_auto_20200513_1235'), + ] + + operations = [ + migrations.AlterField( + model_name='enginetype', + name='subdomain_discovery', + field=models.BooleanField(default=True), + ), + ] diff --git a/scanEngine/models.py b/scanEngine/models.py index d05ce9b5..4e33e8f1 100644 --- a/scanEngine/models.py +++ b/scanEngine/models.py @@ -8,11 +8,11 @@ SCAN_TYPES = ('subdomain_discovery', class EngineType(models.Model): scan_type_name = models.CharField(max_length=200) - subdomain_discovery = models.BooleanField(default=False) - dir_file_search = models.BooleanField(default=False) - subdomain_takeover = models.BooleanField(default=False) - param_discovery = models.BooleanField(default=False) - port_scan = models.BooleanField(default=False) + subdomain_discovery = models.BooleanField(default=True) + dir_file_search = models.BooleanField() + subdomain_takeover = models.BooleanField() + param_discovery = models.BooleanField() + port_scan = models.BooleanField() def __str__(self): return self.scan_type_name diff --git a/scanEngine/templates/scanEngine/_items/add_engine_form.html b/scanEngine/templates/scanEngine/_items/add_engine_form.html index 1042905b..22d972c8 100644 --- a/scanEngine/templates/scanEngine/_items/add_engine_form.html +++ b/scanEngine/templates/scanEngine/_items/add_engine_form.html @@ -4,6 +4,8 @@

Add Scan Engine Name

+ {{ form.errors }} + {{ form.non_field_errors }}
@@ -21,8 +23,10 @@
Subdomain Discovery
+ (Selected by Default) +