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

Posted wanghaoran-s1mple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从一到题学习flask的session安全问题相关的知识,希望对你有一定的参考价值。

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

前言

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

入题

看到一个登陆框;

技术图片

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

技术图片

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

技术图片

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

技术图片

技术图片

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

技术图片

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

技术图片

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

技术图片

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

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

以上是关于从一到题学习flask的session安全问题的主要内容,如果未能解决你的问题,请参考以下文章

在循环中从一到x获取数字?

图论算法之(割点)

flask session安全问题

Flask教程3-session:安全的加密Cookie

Flask学习第8篇:flask-session组件

python 框架Flask学习笔记之session