Flask

既然涉及到 pickle 序列化与反序列化,那就可能存在命令执行。
这几天利节前的空闲时间刷了几道buuctf上的题目,遇到一道开启了debug模式的flask题目,发现了这道题目的两种解法,学习了一波flask开启debug模式下存在的安全问题,踩了不少坑,来和大家一起分享一下。
几星期之前我的一个小伙伴声称他构造了一个“绝对无法绕过的”登录表单。正如我所料,他说的有一定道理,代码看上去的确非常安全,不存在SQL注入、XSS漏洞,这种实现非常完美,直到我注意到他使用的密钥(secret key)为“CHANGEME”。
这次hctf中有两道获取flask的secret_key生成客户端session的题目,所以这篇文章主要详细讨论一下flask客户端session的生成以及校验过程,以及在了解了flask客户端session机制后这两道题的解法。