flask session安全问题
Posted 中国白客联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask session安全问题相关的知识,希望对你有一定的参考价值。
首先我们来了解下flask session长啥样,长下面这样
那我们就可以把session理解为cookie中名称为session的一对键值,且是加密的。
session加密过程如下
(上图来自于P神博客)
也就是说,我们可以去查看session中分段的内容,却无法对其进行修改。
如我们有如下demo模拟用户登录
访问首页如下图
访问login模拟登录test用户
test其对应的session如下
eyJ1c2VybmFtZSI6InRlc3QifQ.XC7SPg.sV9_ueBW2e4kCoY0sxh14dxsQiY
对分段进行base64解码,如第一段为
如果我们尝试修改第一段,把test修改为admin试试
能够发现session失效了,说明直接修改是不行的,因为第三段有签名校验
那我们这次的安全问题实际上是基于secret_key泄漏的情况下,来进行如用户伪造
我们编写如下demo
其中secret_key是泄漏出来的密钥
运行
尝试替换第一次的登录页面,发现成功伪造admin用户
凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数凑字数
以上是关于flask session安全问题的主要内容,如果未能解决你的问题,请参考以下文章