Example #1
0
 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"))
Example #2
0
 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"))