def index(self): # handle user login form = UploadForm(request.form) if request.method == 'POST': uploaded_files = request.files.getlist("file") for file in uploaded_files: filename = "" uuid = str(uuid4()) if file: result = {} filename = secure_filename(file.filename) savetotemp = path.join(malware_folder, filename) for x in request.form.getlist("choices"): result.update({x: True}) result["file"] = savetotemp result["uuid"] = uuid result["analyzer_timeout"] = form.analyzertimeout.data result["function_timeout"] = form.functiontimeout.data files = Files() files.uuid = uuid files.line = result files.file.put(file, content_type=file.content_type, filename=filename) files.save() file.seek(0) file.save(savetotemp) queue.put(uuid, result) if len(uploaded_files) == 1 and request.form.get( 'submitandwait') == 'Submit And Wait': flash(gettext(uuid), 'successandwaituuid') else: flash( gettext("Done uploading {} Task ({})".format( filename, uuid)), 'success') else: flash( gettext("Something wrong while uploading {} Task ({})". format(filename, uuid)), 'error') return self.render("upload.html", header="Scan File\\Files", form=form, switches_details=get_cache("switches"))
def index(self): form = BufferForm(request.form) if request.method == 'POST': if form.buffer.data != "": uuid = str(uuid4()) result = {} for x in request.form.getlist("choices"): result.update({x: True}) filename = ''.join(choice(ascii_uppercase) for _ in range(8)) savetotemp = path.join(malware_folder, filename) with open(savetotemp, "w") as tempfile: tempfile.write(form.buffer.data) with open(savetotemp, "rb") as tempfile: result["file"] = savetotemp result["uuid"] = uuid result["analyzer_timeout"] = form.analyzertimeout.data result["function_timeout"] = form.functiontimeout.data files = Files() files.uuid = uuid files.line = result files.file.put(tempfile, content_type="application/octet-stream", filename=filename) files.save() queue.put(uuid, result) if request.form.get('submitandwait') == 'Submit And Wait': flash(gettext(uuid), 'successandwaituuid') else: flash( gettext( 'Done submitting buffer Task {}'.format(uuid)), 'success') else: flash(gettext("Something wrong"), 'error') return self.render("upload.html", header="Scan Buffer", form=form, switches_details=get_cache("switches"))