mirror of
https://github.com/yogeshojha/rengine.git
synced 2026-09-05 17:37:41 +02:00
393 lines
23 KiB
Python
393 lines
23 KiB
Python
# Generated by Django 3.2.23 on 2024-06-19 02:43
|
|
|
|
from django.conf import settings
|
|
import django.contrib.postgres.fields
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('targetApp', '0001_initial'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
('scanEngine', '0001_initial'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='CountryISO',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('iso', models.CharField(blank=True, max_length=10)),
|
|
('name', models.CharField(blank=True, max_length=100)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='CveId',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=100)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='CweId',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=100)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='DirectoryFile',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('length', models.IntegerField(default=0)),
|
|
('lines', models.IntegerField(default=0)),
|
|
('http_status', models.IntegerField(default=0)),
|
|
('words', models.IntegerField(default=0)),
|
|
('name', models.CharField(blank=True, max_length=500, null=True)),
|
|
('url', models.CharField(blank=True, max_length=5000, null=True)),
|
|
('content_type', models.CharField(blank=True, max_length=100, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='DirectoryScan',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('command_line', models.CharField(blank=True, max_length=5000, null=True)),
|
|
('scanned_date', models.DateTimeField(null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Dork',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('type', models.CharField(blank=True, max_length=500, null=True)),
|
|
('url', models.CharField(blank=True, max_length=10000, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Email',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('address', models.CharField(blank=True, max_length=200, null=True)),
|
|
('password', models.CharField(blank=True, max_length=200, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Employee',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('designation', models.CharField(blank=True, max_length=1000, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='EndPoint',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('source', models.CharField(blank=True, max_length=200, null=True)),
|
|
('http_url', models.CharField(max_length=30000)),
|
|
('content_length', models.IntegerField(blank=True, default=0, null=True)),
|
|
('page_title', models.CharField(blank=True, max_length=30000, null=True)),
|
|
('http_status', models.IntegerField(blank=True, default=0, null=True)),
|
|
('content_type', models.CharField(blank=True, max_length=100, null=True)),
|
|
('discovered_date', models.DateTimeField(blank=True, null=True)),
|
|
('response_time', models.FloatField(blank=True, null=True)),
|
|
('webserver', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('is_default', models.BooleanField(blank=True, default=False, null=True)),
|
|
('matched_gf_patterns', models.CharField(blank=True, max_length=10000, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='IpAddress',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('address', models.CharField(blank=True, max_length=100, null=True)),
|
|
('is_cdn', models.BooleanField(default=False)),
|
|
('version', models.IntegerField(blank=True, null=True)),
|
|
('is_private', models.BooleanField(default=False)),
|
|
('reverse_pointer', models.CharField(blank=True, max_length=100, null=True)),
|
|
('geo_iso', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.countryiso')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Port',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('number', models.IntegerField(default=0)),
|
|
('service_name', models.CharField(blank=True, max_length=100, null=True)),
|
|
('description', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('is_uncommon', models.BooleanField(default=False)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='S3Bucket',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(blank=True, max_length=500, null=True)),
|
|
('region', models.CharField(blank=True, max_length=500, null=True)),
|
|
('provider', models.CharField(blank=True, max_length=100, null=True)),
|
|
('owner_id', models.CharField(blank=True, max_length=250, null=True)),
|
|
('owner_display_name', models.CharField(blank=True, max_length=250, null=True)),
|
|
('perm_auth_users_read', models.IntegerField(default=0)),
|
|
('perm_auth_users_write', models.IntegerField(default=0)),
|
|
('perm_auth_users_read_acl', models.IntegerField(default=0)),
|
|
('perm_auth_users_write_acl', models.IntegerField(default=0)),
|
|
('perm_auth_users_full_control', models.IntegerField(default=0)),
|
|
('perm_all_users_read', models.IntegerField(default=0)),
|
|
('perm_all_users_write', models.IntegerField(default=0)),
|
|
('perm_all_users_read_acl', models.IntegerField(default=0)),
|
|
('perm_all_users_write_acl', models.IntegerField(default=0)),
|
|
('perm_all_users_full_control', models.IntegerField(default=0)),
|
|
('num_objects', models.IntegerField(default=0)),
|
|
('size', models.IntegerField(default=0)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='ScanHistory',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('start_scan_date', models.DateTimeField()),
|
|
('scan_status', models.IntegerField(choices=[(-1, -1), (0, 0), (1, 1), (2, 2), (3, 3)], default=-1)),
|
|
('results_dir', models.CharField(blank=True, max_length=100)),
|
|
('celery_ids', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=100), blank=True, default=list, size=None)),
|
|
('tasks', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=200), null=True, size=None)),
|
|
('stop_scan_date', models.DateTimeField(blank=True, null=True)),
|
|
('used_gf_patterns', models.CharField(blank=True, max_length=500, null=True)),
|
|
('error_message', models.CharField(blank=True, max_length=300, null=True)),
|
|
('aborted_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='aborted_scans', to=settings.AUTH_USER_MODEL)),
|
|
('buckets', models.ManyToManyField(blank=True, related_name='buckets', to='startScan.S3Bucket')),
|
|
('domain', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='targetApp.domain')),
|
|
('dorks', models.ManyToManyField(blank=True, related_name='dorks', to='startScan.Dork')),
|
|
('emails', models.ManyToManyField(blank=True, related_name='emails', to='startScan.Email')),
|
|
('employees', models.ManyToManyField(blank=True, related_name='employees', to='startScan.Employee')),
|
|
('initiated_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='initiated_scans', to=settings.AUTH_USER_MODEL)),
|
|
('scan_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='scanEngine.enginetype')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Subdomain',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=1000)),
|
|
('is_imported_subdomain', models.BooleanField(default=False)),
|
|
('is_important', models.BooleanField(blank=True, default=False, null=True)),
|
|
('http_url', models.CharField(blank=True, max_length=10000, null=True)),
|
|
('screenshot_path', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('http_header_path', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('discovered_date', models.DateTimeField(blank=True, null=True)),
|
|
('cname', models.CharField(blank=True, max_length=5000, null=True)),
|
|
('is_cdn', models.BooleanField(blank=True, default=False, null=True)),
|
|
('cdn_name', models.CharField(blank=True, max_length=200, null=True)),
|
|
('http_status', models.IntegerField(default=0)),
|
|
('content_type', models.CharField(blank=True, max_length=100, null=True)),
|
|
('response_time', models.FloatField(blank=True, null=True)),
|
|
('webserver', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('content_length', models.IntegerField(blank=True, default=0, null=True)),
|
|
('page_title', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('attack_surface', models.TextField(blank=True, null=True)),
|
|
('directories', models.ManyToManyField(blank=True, related_name='directories', to='startScan.DirectoryScan')),
|
|
('ip_addresses', models.ManyToManyField(blank=True, related_name='ip_addresses', to='startScan.IpAddress')),
|
|
('scan_history', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory')),
|
|
('target_domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='targetApp.domain')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='SubScan',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('type', models.CharField(blank=True, max_length=100, null=True)),
|
|
('start_scan_date', models.DateTimeField()),
|
|
('status', models.IntegerField()),
|
|
('celery_ids', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=100), blank=True, default=list, size=None)),
|
|
('stop_scan_date', models.DateTimeField(blank=True, null=True)),
|
|
('error_message', models.CharField(blank=True, max_length=300, null=True)),
|
|
('engine', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='scanEngine.enginetype')),
|
|
('scan_history', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory')),
|
|
('subdomain', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='startScan.subdomain')),
|
|
('subdomain_subscan_ids', models.ManyToManyField(blank=True, related_name='subdomain_subscan_ids', to='startScan.Subdomain')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Technology',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(blank=True, max_length=500, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='VulnerabilityReference',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('url', models.CharField(max_length=5000)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='VulnerabilityTags',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=100)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Waf',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('name', models.CharField(max_length=500)),
|
|
('manufacturer', models.CharField(blank=True, max_length=500, null=True)),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Vulnerability',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('source', models.CharField(blank=True, max_length=200, null=True)),
|
|
('template', models.CharField(blank=True, max_length=100, null=True)),
|
|
('template_url', models.CharField(blank=True, max_length=2500, null=True)),
|
|
('template_id', models.CharField(blank=True, max_length=200, null=True)),
|
|
('matcher_name', models.CharField(blank=True, max_length=500, null=True)),
|
|
('name', models.CharField(max_length=2500)),
|
|
('severity', models.IntegerField()),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('impact', models.TextField(blank=True, null=True)),
|
|
('remediation', models.TextField(blank=True, null=True)),
|
|
('extracted_results', django.contrib.postgres.fields.ArrayField(base_field=models.CharField(max_length=5000), blank=True, null=True, size=None)),
|
|
('cvss_metrics', models.CharField(blank=True, max_length=500, null=True)),
|
|
('cvss_score', models.FloatField(blank=True, default=None, null=True)),
|
|
('curl_command', models.CharField(blank=True, max_length=15000, null=True)),
|
|
('type', models.CharField(blank=True, max_length=100, null=True)),
|
|
('http_url', models.CharField(max_length=10000, null=True)),
|
|
('discovered_date', models.DateTimeField(null=True)),
|
|
('open_status', models.BooleanField(blank=True, default=True, null=True)),
|
|
('hackerone_report_id', models.CharField(blank=True, max_length=50, null=True)),
|
|
('request', models.TextField(blank=True, null=True)),
|
|
('response', models.TextField(blank=True, null=True)),
|
|
('is_gpt_used', models.BooleanField(blank=True, default=False, null=True)),
|
|
('cve_ids', models.ManyToManyField(blank=True, related_name='cve_ids', to='startScan.CveId')),
|
|
('cwe_ids', models.ManyToManyField(blank=True, related_name='cwe_ids', to='startScan.CweId')),
|
|
('endpoint', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.endpoint')),
|
|
('references', models.ManyToManyField(blank=True, related_name='vuln_reference', to='startScan.VulnerabilityReference')),
|
|
('scan_history', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory')),
|
|
('subdomain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.subdomain')),
|
|
('tags', models.ManyToManyField(blank=True, related_name='vuln_tags', to='startScan.VulnerabilityTags')),
|
|
('target_domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='targetApp.domain')),
|
|
('vuln_subscan_ids', models.ManyToManyField(blank=True, related_name='vuln_subscan_ids', to='startScan.SubScan')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='subdomain',
|
|
name='technologies',
|
|
field=models.ManyToManyField(blank=True, related_name='technologies', to='startScan.Technology'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='subdomain',
|
|
name='waf',
|
|
field=models.ManyToManyField(blank=True, related_name='waf', to='startScan.Waf'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='ScanActivity',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('title', models.CharField(max_length=1000)),
|
|
('name', models.CharField(max_length=1000)),
|
|
('time', models.DateTimeField()),
|
|
('status', models.IntegerField()),
|
|
('error_message', models.CharField(blank=True, max_length=300, null=True)),
|
|
('traceback', models.TextField(blank=True, null=True)),
|
|
('celery_id', models.CharField(blank=True, max_length=100, null=True)),
|
|
('scan_of', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory')),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='MetaFinderDocument',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('doc_name', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('url', models.CharField(blank=True, max_length=10000, null=True)),
|
|
('title', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('author', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('producer', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('creator', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('os', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('http_status', models.IntegerField(blank=True, default=0, null=True)),
|
|
('creation_date', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('modified_date', models.CharField(blank=True, max_length=1000, null=True)),
|
|
('scan_history', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory')),
|
|
('subdomain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.subdomain')),
|
|
('target_domain', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='targetApp.domain')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='ipaddress',
|
|
name='ip_subscan_ids',
|
|
field=models.ManyToManyField(related_name='ip_subscan_ids', to='startScan.SubScan'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='ipaddress',
|
|
name='ports',
|
|
field=models.ManyToManyField(related_name='ports', to='startScan.Port'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='GPTVulnerabilityReport',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('url_path', models.CharField(max_length=2000)),
|
|
('title', models.CharField(max_length=2500)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('impact', models.TextField(blank=True, null=True)),
|
|
('remediation', models.TextField(blank=True, null=True)),
|
|
('references', models.ManyToManyField(blank=True, related_name='report_reference', to='startScan.VulnerabilityReference')),
|
|
],
|
|
),
|
|
migrations.AddField(
|
|
model_name='endpoint',
|
|
name='endpoint_subscan_ids',
|
|
field=models.ManyToManyField(blank=True, related_name='endpoint_subscan_ids', to='startScan.SubScan'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='endpoint',
|
|
name='scan_history',
|
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='endpoint',
|
|
name='subdomain',
|
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.subdomain'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='endpoint',
|
|
name='target_domain',
|
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='targetApp.domain'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='endpoint',
|
|
name='techs',
|
|
field=models.ManyToManyField(blank=True, null=True, related_name='techs', to='startScan.Technology'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='directoryscan',
|
|
name='dir_subscan_ids',
|
|
field=models.ManyToManyField(blank=True, related_name='dir_subscan_ids', to='startScan.SubScan'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='directoryscan',
|
|
name='directory_files',
|
|
field=models.ManyToManyField(blank=True, related_name='directory_files', to='startScan.DirectoryFile'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='Command',
|
|
fields=[
|
|
('id', models.AutoField(primary_key=True, serialize=False)),
|
|
('command', models.TextField(blank=True, null=True)),
|
|
('return_code', models.IntegerField(blank=True, null=True)),
|
|
('output', models.TextField(blank=True, null=True)),
|
|
('time', models.DateTimeField()),
|
|
('activity', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanactivity')),
|
|
('scan_history', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='startScan.scanhistory')),
|
|
],
|
|
),
|
|
]
|