예제 #1
0
    def POST(self):
        i = web.input(file_upload={})
        if i["file_upload"] is None or i["file_upload"] == "":
            return render.error("No file uploaded or invalid file.")

        buf = i["file_upload"].value
        filename = i["file_upload"].filename

        # Scan the file
        av = CMultiAV()
        ret = av.scan_buffer(buf)

        # Calculate the hashes
        hashes = []
        hashes.append(md5(buf).hexdigest())
        hashes.append(sha1(buf).hexdigest())
        hashes.append(sha256(buf).hexdigest())

        # Save the sample
        db_api = CDbSamples()
        db_api.insert_sample(filename, buf, ret)

        # And show the results
        render = web.template.render('templates')
        return render.results(ret, filename, hashes)
예제 #2
0
    def POST(self):
        i = web.input(file_upload={})
        if "file_upload" not in i or i["file_upload"] is None or i[
                "file_upload"] == "":
            return '{"error": "No file uploaded or invalid file."}'

        buf = i["file_upload"].value
        filename = i["file_upload"].filename

        # Scan the file
        av = CMultiAV()
        report = av.scan_buffer(buf)

        db_api = CDbSamples()
        db_api.insert_sample(filename, buf, report)
        return json.dumps(report)
예제 #3
0
    def POST(self):
        i = web.input(file_upload={}, speed=AV_SPEED_ULTRA)
        if i["file_upload"] is None or i["file_upload"] == "":
            return "{'error':'No file uploaded or invalid file.'}"

        speed = int(i["speed"])
        buf = i["file_upload"].value
        filename = i["file_upload"].filename

        # Scan the file
        av = CMultiAV()
        report = av.scan_buffer(buf, speed)

        db_api = CDbSamples()
        db_api.insert_sample(filename, buf, report)

        return json.dumps(report)