예제 #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
        )
예제 #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
        )
예제 #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/"
예제 #4
0
파일: test_utils.py 프로젝트: consen/cuckoo
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/"
예제 #5
0
파일: test_utils.py 프로젝트: jgajek/cuckoo
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
예제 #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