Session伪造记录

session与cookie的区别

cookie数据保存在客户端,session数据保存在服务端。

session
简单的说,当你登陆一个网站的时候,如果web服务器端使用的是session,那么所有的数据都保存在服务器上,客户端每次请求服务器的时候会发送当前会话sessionid,服务器根据当前sessionid判断相应的用户数据标志,以确定用户是否登陆或具有某种权限。由于数据是存储在服务器上面,所以你不能伪造。

cookie
sessionid是服务器和客户端连接时候随机分配的,如果浏览器使用的是cookie,那么所有数据都保存在浏览器端,比如你登陆以后,服务器设置了cookie用户名,那么当你再次请求服务器的时候,浏览器会将用户名一块发送给服务器,这些变量有一定的特殊标记。服务器会解释为cookie变量,所以只要不关闭浏览器,那么cookie变量一直是有效的,所以能够保证长时间不掉线。

Session伪造记录

别的我就不多说了,直接上干货

因为Session是存储在我们本地的浏览器上的,我可以随时的获取到这个值,但是我们所获取的值是经过算法加密的。如果我们需要伪造这个Session值我们就需要进行session的解码,然后改变里面的一些值,再进行加密进而达到伪造的效果。

Session获取

获取到这个我们可以直接在浏览的页面上按下 fn+f12拿到该值。
在这里插入图片描述
或则使用BP进行抓包,也可拿到该值。
在这里插入图片描述

Session解码

解码的前提是你得拿到密钥,这个在CTF里一般会有线索给你找到。
脚本在Linux环境中跑,有python2 和python3版本的。
脚本在我的资源里,可以去免费下载

解码:python3  flask_session_cookie_manager3.py decode -s "密钥" -c "session"

改你要改的内容。

加密:python3  flask_session_cookie_manager3.py encode -s "密钥" -t "上面解密出的一串字符串"

解密:
在这里插入图片描述
我的这个题目时是要求我们是admin用户才能拿到flag,所以我要将name中的值改为admin

加密:
在这里插入图片描述
然后重放到浏览器,刷新即可。
在这里插入图片描述
【/home/mohe/.cache/vmware/drag_and_drop】

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Cookie、Session、Token都是用于身份验证和保持用户状态的机制,但是它们的实现方式和作用有所不同。 Cookie是在客户端存储的小型数据文件,由服务器发送给浏览器。浏览器将Cookie保存在本地,并在每次请求时将Cookie值发送回服务器。它可以用于存储用户的登录信息、购物车信息等。但是它也有一些缺点,比如Cookie可以被窃取和伪造,可能会导致安全问题。 Session是在服务器端存储的一段数据,用于记录用户的状态和信息。当用户打开一个网站时,服务器会创建一个唯一的Session ID,并将其发送给浏览器。浏览器在每次请求时都会发送Session ID,服务器会根据Session ID查找对应的Session数据,从而获取用户的状态和信息。Session相对于Cookie更加安全,因为它存储在服务器端,但是它也需要占用服务器的资源,当用户的访问量较大时,可能会导致性能问题。 Token是一种较为安全的身份验证机制,它是一段加密的字符串,用于代表用户的身份和权限。在用户登录成功后,服务器会生成一个Token,并将其发送给浏览器。浏览器在每次请求时都会携带Token,服务器会根据Token验证用户的身份和权限。Token相对于Cookie和Session更加安全,因为它是加密的,并且不占用服务器的资源。但是它也需要一些额外的工作来实现,比如Token的生成和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值