๐Ÿ“ฆ qarmin / Automated-Fuzzer

๐Ÿ“„ send.py ยท 47 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47import os
import sys
import requests
import time


def upload_file(secret_key: str, ip_address: str, folder_to_pack: str) -> bool:
    url = f"http://{ip_address}:2222/upload/zip"
    headers = {"Authorization": secret_key, "Content-Type": "multipart/form-data"}
    zip_file = "test.zip"
    zip_result = os.system(f"zip -r {zip_file} {folder_to_pack}")
    if zip_result != 0:
        print(f"Failed to zip {folder_to_pack}")
        return False

    with open(zip_file, "rb") as f:
        file_content = f.read()

    for attempt in range(3):
        files = {"file": file_content}
        response = requests.post(url, headers=headers, files=files)
        if response.status_code == 200:
            print("Upload succeeded.")
            return True

        print(f"Upload failed. Retrying... (Attempt {attempt + 1}/3)")
        print(response.text)

        time.sleep(1)

    return False


if __name__ == "__main__":
    if len(sys.argv) != 4:
        print("Usage: python3 upload.py <secret_key> <ip_address> <zip_file>")
        sys.exit(1)

    secret_key = sys.argv[1]
    ip_address = sys.argv[2]
    folder_to_pack = sys.argv[3]

    result = upload_file(secret_key, ip_address, folder_to_pack)
    if not result:
        print("Upload failed.")
        sys.exit(1)