写这个主要是见识到了两个新的东西,一个是session,一个是flask-session加密解密
那么主要是学习到session,另外一个其实是一个小工具,在python3或者python2环境下运行
好的,那就浅浅说一下我看了一些wp和文章后了解到的session:
http协议是一种无状态的协议,在同一个用户的第一次和第二次的时,是完全不相关的,可是有些数据是需要保存的,来方便用户,那么session就能解决这个问题,session就像一个box,把用户的所有信息保存,并贴上一个独有的标签符,把标识符保存在cookie中;当同一个用户再次提出请求时,从cookie中解析标识符,再通过标识符在session中匹配返还信息;
这题一开始我给的值是123,抓包
cookie中就能看见session中的值,用base64解码一下
有些乱码,但是能看出来,session已经给了一个标识符,那么要管理员才能行,这里我们的就要更改一下这个标识,用管理员的身份去返还信息(如果是在一开始就尝试admin是失败的,应该是session的原因吧)
这里我是看了wp才知道是flask-session加密的,不过如果能找到源码,也是能发现文本框架是flask的
解密:python flask_session_cookie_manager3.py decode -s “秘钥” -c “session值”
加密:python flask_session_cookie_manager3.py encode -s “秘钥” -t “session值”
这里需要秘钥,秘钥是盲猜的LitCTF,这个只能是说根据当时的情况来猜了
加密后,修改session就能返还出之前admin的所有信息,也就能拿到flag了