expload/expload.py

37 lines
1016 B
Python

import tempfile
from pyfsig import constants
import requests
import mimetypes
import lib.parse
mimetypes.init()
def grabsig(ext):
for sig in constants.SIGNATURES:
if sig["file_extension"] == ext:
return "".join([chr(h) for h in sig["hex"]]).encode("utf-8"), mimetypes.types_map[f".{ext}"]
def fileupload():
ext=args.ext
name=args.name
filename=args.filename
with open(args.payload,"r") as payload:
content=payload.read().encode("utf-8")
with tempfile.NamedTemporaryFile() as tmp:
try:
sig,mime=grabsig(ext)
except TypeError:
print("Error: most likely this file type is not in the available signature list")
exit()
tmp.write(sig)
tmp.write(b"\n")
tmp.write(content)
tmp.seek(0)
files = {name: (filename, tmp, mime)}
r = requests.post(args.url, files=files)
print(r.text)
if __name__ == "__main__":
args=lib.parse.parser()
fileupload()