Skip to content

Commit f1f2192

Browse files
committed
Fixing bugs with reimporting scans.
1 parent 9313210 commit f1f2192

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

dojo/api.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -843,9 +843,6 @@ class ImportScanResource(MultipartResource, Resource):
843843
file = fields.FileField(attribute='file')
844844
engagement = fields.CharField(attribute='engagement')
845845

846-
@staticmethod
847-
848-
849846
class Meta:
850847
resource_name = 'importscan'
851848
fields = ['scan_date', 'minimum_severity', 'active', 'verified', 'scan_type', 'tags', 'file']
@@ -1137,6 +1134,16 @@ def obj_create(self, bundle, **kwargs):
11371134
finding_added_count += 1
11381135
new_items.append(item.id)
11391136
find = item
1137+
1138+
if hasattr(item, 'unsaved_req_resp') and len(item.unsaved_req_resp) > 0:
1139+
for req_resp in item.unsaved_req_resp:
1140+
burp_rr = BurpRawRequestResponse(finding=item,
1141+
burpRequestBase64=req_resp["req"],
1142+
burpResponseBase64=req_resp["resp"],
1143+
)
1144+
burp_rr.clean()
1145+
burp_rr.save()
1146+
11401147
if item.unsaved_request is not None and item.unsaved_response is not None:
11411148
burp_rr = BurpRawRequestResponse(finding=find,
11421149
burpRequestBase64=item.unsaved_request,
@@ -1153,6 +1160,7 @@ def obj_create(self, bundle, **kwargs):
11531160
query=endpoint.query,
11541161
fragment=endpoint.fragment,
11551162
product=test.engagement.product)
1163+
item.endpoints.add(ep)
11561164

11571165
if item.unsaved_tags is not None:
11581166
find.tags = item.unsaved_tags

dojo/test/views.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,16 @@ def re_import_scan_results(request, tid):
463463
finding_added_count += 1
464464
new_items.append(item.id)
465465
find = item
466+
467+
if hasattr(item, 'unsaved_req_resp') and len(item.unsaved_req_resp) > 0:
468+
for req_resp in item.unsaved_req_resp:
469+
burp_rr = BurpRawRequestResponse(finding=item,
470+
burpRequestBase64=req_resp["req"],
471+
burpResponseBase64=req_resp["resp"],
472+
)
473+
burp_rr.clean()
474+
burp_rr.save()
475+
466476
if item.unsaved_request is not None and item.unsaved_response is not None:
467477
burp_rr = BurpRawRequestResponse(finding=find,
468478
burpRequestBase64=item.unsaved_request,
@@ -479,6 +489,7 @@ def re_import_scan_results(request, tid):
479489
query=endpoint.query,
480490
fragment=endpoint.fragment,
481491
product=t.engagement.product)
492+
item.endpoints.add(ep)
482493

483494
if item.unsaved_tags is not None:
484495
find.tags = item.unsaved_tags

0 commit comments

Comments
 (0)