浅谈session及其安全

admin 2023年1月9日02:15:38评论12 views字数 700阅读2分20秒阅读模式

什么是Session?

  • Session在网络应用中被称为“会话控制”。

  • Session存储在服务器端。

  • 用户A访问网站B,A登录网站后,服务器会创建一个Session来保存用户状态和相关信息。每个Session对应一个标识符SessionID来标识用户身份。SessionID一般是由服务器以加密的方式写到cookie中的,这样用户A登录后,访问网站B中不同的网页时请求中会带上SessionID来标识他的身份,以此实现一次登录,访问全网站。(现在大多数站点采用基于cookie的session管理方式:用户登陆成功后,设置一个唯一的cookie标识本次会话,基于这个标识进行用户授权。只要请求中带有这个标识,都认为是登录态。)

Session劫持

只要请求中带有这个标识,都认为是登录态

这就危险了,一旦你的标识被别人获取,你的Session就被别人劫持了,他就可以用你的身份为所欲为。

最基本的cookie窃取方式:xss漏洞

攻击者最简单获取他人cookie信息的方法是XSS攻击,想办法注入js脚本到被攻击者客户端并执行,通过执行这个js脚本,攻击者在被攻击者登录后获得了他的SessionID,通过在自己客户端修改sessionId获得了被攻击者的身份,后果不堪设想。。。

防御方法

  • cookie设置为HttpOnly,js脚本就无法再获取cookie,也就无法得到你的会话标识。

  • 防止xss注入:过滤用户输入

  • 每次请求做其他验证:cookie中取加密后的用户id,session中取用户id并加密,比较二者,不同时拦截住。(个人理解)

推荐关注:

原文始发于微信公众号(LemonSec):浅谈session及其安全

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年1月9日02:15:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   浅谈session及其安全http://cn-sec.com/archives/583133.html

发表评论

匿名网友 填写信息