flask中的session伪造
使用 密钥SECRET_KEY 和 经过解码原session篡改后的字典 可以重新加密生成一个session。
有一个开源脚本可以帮我们自动生成:https://github.com/noraj/flask-session-cookie-manager(kali机上已下载)
现在流行两种方式登录认证方式:Session和JWT,无论是哪种方式其原理都是保存凭证:
1.前端发起登录认证请求
2.后端登录验证通过,返回给前端一个凭证
3.前端发起新的请求时携带凭证
只不过session的重点是会在服务端存储凭证;而JWT不会在服务端存储凭证,而是会将返回的凭证根据签名和加密方式来校验其是否被篡改。
session安全问题:
flask框架的session是存储在客户端的,那么就需要解决session是否会被恶意纂改的问题,而flask通过一个secret_key,也就是密钥对数据进行签名来
防止session被纂改,在我上面写的例子就定义有密钥(app.config[‘SECRET_KEY’] = ‘tanji_is_A_boy_Yoooooooooooo ...