Esempio n. 1
0
    def _handle_string(self, submit, tmppath, line):
        if not line:
            return

        if validate_hash(line):
            try:
                filedata = VirusTotalAPI().hash_fetch(line)
            except CuckooOperationalError as e:
                submit["errors"].append(
                    "Error retrieving file hash: %s" % e
                )
                return

            filepath = Files.create(tmppath, line, filedata)

            submit["data"].append({
                "type": "file",
                "data": filepath
            })
            return

        if validate_url(line):
            submit["data"].append({
                "type": "url",
                "data": validate_url(line),
            })
            return

        submit["errors"].append(
            "'%s' was neither a valid hash or url" % line
        )
Esempio n. 2
0
    def _handle_string(self, submit, tmppath, line):
        if not line:
            return

        if validate_hash(line):
            try:
                filedata = VirusTotalAPI().hash_fetch(line)
            except CuckooOperationalError as e:
                submit["errors"].append(
                    "Error retrieving file hash: %s" % e
                )
                return

            filepath = Files.create(tmppath, line, filedata)

            submit["data"].append({
                "type": "file",
                "data": filepath
            })
            return

        if validate_url(line):
            submit["data"].append({
                "type": "url",
                "data": validate_url(line),
            })
            return

        submit["errors"].append(
            "'%s' was neither a valid hash or url" % line
        )
Esempio n. 3
0
def test_validate_url():
    assert utils.validate_url("http://google.com/") == "http://google.com/"
    assert utils.validate_url("google.com") == "http://google.com"
    assert utils.validate_url("google.com/test") == "http://google.com/test"
    assert utils.validate_url("https://google.com/") == "https://google.com/"
    assert utils.validate_url("ftp://google.com/") is None
    assert utils.validate_url("https://https://google.com/",
                              allow_invalid=True) == "https://google.com/"
Esempio n. 4
0
def test_validate_url():
    assert utils.validate_url("http://google.com/") == "http://google.com/"
    assert utils.validate_url("google.com") == "http://google.com"
    assert utils.validate_url("google.com/test") == "http://google.com/test"
    assert utils.validate_url("https://google.com/") == "https://google.com/"
    assert utils.validate_url("ftp://google.com/") is None
    assert utils.validate_url(
        "https://https://google.com/", allow_invalid=True
    ) == "https://google.com/"
Esempio n. 5
0
def test_validate_url():
    assert utils.validate_url("http://google.com/") == "http://google.com/"
    assert utils.validate_url("google.com") == "http://google.com"
    assert utils.validate_url("google.com/test") == "http://google.com/test"
    assert utils.validate_url("https://google.com/") == "https://google.com/"
    assert utils.validate_url("ftp://google.com/") is None
Esempio n. 6
0
def test_validate_url():
    assert utils.validate_url("http://google.com/") == "http://google.com/"
    assert utils.validate_url("google.com") == "http://google.com"
    assert utils.validate_url("google.com/test") == "http://google.com/test"
    assert utils.validate_url("https://google.com/") == "https://google.com/"
    assert utils.validate_url("ftp://google.com/") is None