请问有人遇到过No module named 'flask_session'这个报错吗?我确定我的xenv.lib下有这个包呀,为啥还会报错呢
flask框架的session是存储在客户端的,那么就需要解决session是否会被恶意纂改的问题,而flask通过一个secret_key,也就是密钥对数据进行签名来防止session被纂改,在我上面写的例子就定义有密钥。
app.secret_key = "iamXiLitter"
正常情况下这个密钥是不会给你看的。但是光有数据签名,安全性还是不够的,session没有做任何加密处理,是用户可见的,我们还是可以得到修改session里的内容,如果我们还得到了用于签名的密钥,那么攻击者就可以进行session伪造。那么接下来就通过我本地起的flask服务来伪造admin进行登录。
github上是有伪造脚本的,python2和python3的都有,下载链接:GitHub - noraj/flask-session-cookie-manager: Flask Session Cookie Decoder/Encoder
本机环境python3,有了密钥,对session进行伪造。
伪造出的session添加到cookie中重新刷新 。成功登录admin
通过两道题目体会session伪造在ctf中的应用。