从一到题学习flask的session安全问题

从一到题学习flask的session安全问题

前言

今天偶然翻看一个学长的博客,发现他记录了一道fakebook的一道题;感觉很有意思;就去看了看。

入题

看到一个登陆框;

从一到题学习flask的session安全问题

下意识尝试admin用户登陆。发现无果。所以随意用户登陆;就拿a a来登陆吧;登陆进去之后如下:

从一到题学习flask的session安全问题

这里我们可以提交东西;我fuzz了好久,没想到注入点,是在 event_important处;

从一到题学习flask的session安全问题

这里我们注入__class__,看到回显,那就实锤是ssti了;这里我们看到题目需要我们成为admin;想来肯定是伪造cookie进行越权了;这里首先科普::flask的session是存储在客户端的;所以我们可以在cookie中查看到;存储的形式为xxx.xxx.xxx这里第一个xxx的base64解码就是我们的username;就拿着这道题来说;

从一到题学习flask的session安全问题

从一到题学习flask的session安全问题

解密完之后就是a;那么这里我们是要得到admin账户;那么这里就要得到私钥了,既然可以发生ssti注入,那么我们就可以ssti注入flask的app的相关配置,然后看到私钥;拿到私钥之后就可以进行伪造了;这里注入得到密钥;

从一到题学习flask的session安全问题

如上图所示,这里我们按照之前的方法看到我们的用户名确实是a;这里我们已经得到了私钥,那么可以走脚本的加密;这里。得到cookie;然后替换进行伪造越权;

从一到题学习flask的session安全问题

这里看到我们的cookie已经伪造,这里进行替换就可以;

从一到题学习flask的session安全问题

简单写写吧,这道题就是学习flask的cookie伪造,因为flask的session是保存在本地的,这里具有很大的安全问题;即使没有密钥,我们也可以进行cookie的解密;之不过加密的时候需要密钥来进行加密;

简单写写;总的来说就是flask的cookie安全问题;

相关推荐