def get_context_data(self, **kwargs): context = super(TaskListView, self).get_context_data(**kwargs) task_count = ScanTask.objects.all().count() if 'p' in self.request.GET: page = int(self.request.GET['p']) else: page = 1 # check page if page*50 > task_count: page = 1 rows = ScanTask.objects.all().order_by('-id')[(page-1)*50: page*50] context['tasks'] = rows context['page'] = page max_page = task_count / 50 if task_count % 50 == 0 else (task_count / 50)+1 context['max_page'] = max_page context['page_range'] = range(int(max_page))[1:] for task in context['tasks']: task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config(task.parameter_config) project_id = get_and_check_scantask_project_id(task.id) project = Project.objects.filter(id=project_id).first() task.project_name = project.project_name return context
def get(request, task_id): task = ScanTask.objects.filter(id=task_id).first() visit_token = "" if 'token' in request.GET: visit_token = request.GET['token'] project_id = get_and_check_scantask_project_id(task.id) project = Project.objects.filter(id=project_id).first() taskresults = get_and_check_scanresult(task.id).objects.filter(scan_project_id=project_id, is_active=1).all() newevilfuncs = get_and_check_evil_func(task.id) task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config(task.parameter_config) for taskresult in taskresults: taskresult.is_unconfirm = int(taskresult.is_unconfirm) if not task: return HttpResponseNotFound('Task Not Found.') else: data = { 'task': task, 'taskresults': taskresults, 'newevilfuncs': newevilfuncs, 'visit_token': visit_token, 'project': project, } return render(request, 'dashboard/tasks/task_detail.html', data)
def get(request, project_id): project = Project.objects.filter(id=project_id).first() tasks = ScanTask.objects.filter(project_id=project.id).order_by('-id') taskresults = ScanResultTask.objects.filter(scan_project_id=project.id, is_active=1).all() newevilfuncs = NewEvilFunc.objects.filter(project_id=project.id).all() pvs = ProjectVendors.objects.filter(project_id=project.id) for task in tasks: task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config( task.parameter_config) for taskresult in taskresults: taskresult.is_unconfirm = int(taskresult.is_unconfirm) if not project: return HttpResponseNotFound('Project Not Found.') else: data = { 'tasks': tasks, 'taskresults': taskresults, 'newevilfuncs': newevilfuncs, 'project': project, 'project_vendors': pvs, } return render(request, 'dashboard/projects/project_detail.html', data)
def get(request, project_id): project = Project.objects.filter(id=project_id).first() tasks = ScanTask.objects.filter( project_id=project.id).order_by('-id')[:20] taskresults = ScanResultTask.objects.filter(scan_project_id=project.id, is_active=1).all() newevilfuncs = NewEvilFunc.objects.filter(project_id=project.id).all() pvs = ProjectVendors.objects.filter(project_id=project.id) for task in tasks: task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config( task.parameter_config) for taskresult in taskresults: taskresult.is_unconfirm = int(taskresult.is_unconfirm) taskresult.level = 0 taskresult.vid = 0 if taskresult.cvi_id == '9999': vender_vul_id = taskresult.vulfile_path.split(":")[-1] if vender_vul_id: vv = VendorVulns.objects.filter(id=vender_vul_id).first() if vv: taskresult.vulfile_path = "[{}]{}".format( vv.vendor_name, vv.title) taskresult.level = VENDOR_VUL_LEVEL[vv.severity] taskresult.vid = vv.id # 处理多个refer的显示问题 references = [] if re.search(r'"http[^"]+"', taskresult.source_code, re.I): rs = re.findall(r'"http[^"]+"', taskresult.source_code, re.I) for r in rs: references.append(r.strip('"')) else: references = [taskresult.source_code.strip('"')] taskresult.source_code = references else: r = Rules.objects.filter(svid=taskresult.cvi_id).first() taskresult.level = VUL_LEVEL[r.level] if not project: return HttpResponseNotFound('Project Not Found.') else: data = { 'tasks': tasks, 'taskresults': taskresults, 'newevilfuncs': newevilfuncs, 'project': project, 'project_vendors': pvs, } return render(request, 'dashboard/projects/project_detail.html', data)
def get(request, task_id): task = ScanTask.objects.filter(id=task_id).first() visit_token = "" if 'token' in request.GET: visit_token = request.GET['token'] project_id = get_and_check_scantask_project_id(task.id) project = Project.objects.filter(id=project_id).first() taskresults = get_and_check_scanresult(task.id).objects.filter(scan_project_id=project_id, is_active=1).all() newevilfuncs = get_and_check_evil_func(task.id) task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config(task.parameter_config) for taskresult in taskresults: taskresult.is_unconfirm = int(taskresult.is_unconfirm) taskresult.level = 0 if taskresult.cvi_id == '9999': vender_vul_id = taskresult.vulfile_path.split(":")[-1] if vender_vul_id: vv = VendorVulns.objects.filter(id=vender_vul_id).first() if vv: taskresult.vulfile_path = "[{}]{}".format(vv.vendor_name, vv.title) taskresult.level = VENDOR_VUL_LEVEL[vv.severity] taskresult.vid = vv.id # 处理多个refer的显示问题 references = [] if re.search(r'"http[^"]+"', taskresult.source_code, re.I): rs = re.findall(r'"http[^"]+"', taskresult.source_code, re.I) for r in rs: references.append(r.strip('"')) else: references = [taskresult.source_code.strip('"')] taskresult.source_code = references else: r = Rules.objects.filter(svid=taskresult.cvi_id).first() taskresult.level = VUL_LEVEL[r.level] if not task: return HttpResponseNotFound('Task Not Found.') else: data = { 'task': task, 'taskresults': taskresults, 'newevilfuncs': newevilfuncs, 'visit_token': visit_token, 'project': project, } return render(request, 'dashboard/tasks/task_detail.html', data)
def index(req): tasks = ScanTask.objects.all().order_by("-id")[:100] for task in tasks: task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config(task.parameter_config) project_id = get_and_check_scantask_project_id(task.id) project = Project.objects.filter(id=project_id).first() task.project_name = project.project_name data = {'tasks': tasks} return render(req, 'dashboard/index.html', data)
def get_context_data(self, **kwargs): context = super(TaskListView, self).get_context_data(**kwargs) rows = ScanTask.objects.all().order_by('-id') context['tasks'] = rows for task in context['tasks']: task.is_finished = int(task.is_finished) task.parameter_config = del_sensitive_for_config(task.parameter_config) project_id = get_and_check_scantask_project_id(task.id) project = Project.objects.filter(id=project_id).first() task.project_name = project.project_name return context