cve-2021-33026复现
cve-2021-3302
poc地址
前言
这个五六月份的漏洞前几天看到了有poc公开了,看了下是flask + pickle + flask-caching的洞,就想着能不能复现一下
漏洞复现
环境搭建
环境基本上没什么问题,建一个虚拟环境然后pip改装的包装装全,python需要>=3.5这是flask-caching的要求
然后这个poc是对memcache的,所以装一个
flask代码
这是我根据它poc里面描述来写的,
提示memcache里面存储的必须是会话cookie然后看它的截图我就给每此请求分配了一个uuid
然后按照我的理解,他的poc
然后为了满足他的session:uuid的形式我在函数里实现类下,如下
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
| from flask import Flask, session, request, Response from flask.json import jsonify from flask_caching import Cache import pickle import memcache import uuid some_data = ['some', 'data']
mc = memcache.Client(['127.0.0.1:11211'], debug=0)
cache = Cache() flask_app = Flask(__name__) flask_app.secret_key = b'xxxxx'
cache.init_app(flask_app, {"CACHE_TYPE": "memcached"})
@flask_app.route('/', methods=['GET']) def cve_2021_33026(): return "ok"
if __name__ == "__main__": flask_app.run(host='0.0.0.0', debug=True, port=5006)
|
然后尝试了一下是否可以通过脚本…
提示success但是
也就是说cmd中的命令完全没有执行…
只是又发了一边请求而不是指定的命令…
应该是我的函数写的有点问题…
再琢磨琢磨