• 认证和会话管理漏洞


    失效的身份认证和会话管理

    • 认证和授权

    - 认证的目的是为了认出用户是谁, 授权的目的是为了决定用户能够做什么
    - 认证是一个验证凭据的过程。
    - 认证分类: 单因素认证& 双因素认证& 多因素认证
    - 认证手段: 密码、动态口令、手机验证、数字证书、单点登录(openid)

    • 会话管理

    - 认证成功后, 认证凭证的管理方式
    - 会话管理方式: cookie based 方式、服务器端session 方式

    1 cookie-based的管理方式

    用户登录成功之后, 把登录凭证写到cookie里面, 给cookie设置有效期,后续请求直接验证存有登录凭证的cookie是否存在以及凭证是否有效,即可判断用户的登录状态

     

    2 基于server 端的服务端session的管理

    服务端Session技术是用户第一次访问时,服务器就会创建的对象,并分配session 存储空间。服务器为每一个session 都分配一个唯一的sessionid, 以保证每个用户都有一个不同的

    session对象。认证成功过,认证凭证计入到session存储空间中。

     

    身份认证和会话管理常见安全问题

    • 账号或密码未做限制, 可暴力猜解。没有限制登录次数,加验证码
    • 弱密码策略, 允许简单密码存在, 如123456 , admin
    • 密码找回方案存在缺陷, 如: 密保问题设计
    • 密码更改方案存在缺陷
    • cookie 作为认证凭证, 携带敏感信息
    • Sessionid 没有时效限制, 特别是单点登录令牌在用户注销时没有失效
    • 成功注册后, 会话ID 没有轮转。
    • sessionid 和其他认证凭据使用未加密连接传输。
    • 混用个性化数据的身份验证数据,个性化数据适于永久的cookie,而身份验证cookie不应是永久的

    认证会话管理洞防御

    • 设置验证码, 防止暴力猜解
    • 强制复杂密码策略, 不允许默认弱密码存在
    • 身份认证采用多因素认证
    • 认证cookie 中,加入两个时间, 一个是“ 即使一直在活动,也要失效" 的时间,一个是“ 长时间不活动的失效时间"
    • cookie设置http only, 防止脚本读取
    • Cookie 设置Secure, 只允许https传输
    • 网络传递认证凭证采用SSL 加密

    实验:利用永久cookie重放http 会话

    实验环境:asp编写的web 站点

    实验案例:利用burp嗅探该站点认证cookie特点,利用burp或桂林老兵cookie 欺骗工具,进行会话重放。

    1. 登录网站后台,用burp工具抓包

     

    user=admin&pass=admin&XuasYzm=19909&B1.x=42&B1.y=16

    在这可以看到我们在网页后台输入的用户名、密码以及验证码。以及cookie中包含的adminpass,adminuser等信息。

    复制以下信息

    adminpass=21232f297a57a5a743894a0e4a801fc3; adminuser=admin

    2.退出系统

    3. 重新回到网页登录界面并使用burp抓包

    将cookie信息中的adminpass、adminuser内容替换为

    adminpass=21232f297a57a5a743894a0e4a801fc3; adminuser=admin 

    可以实现登录

  • 相关阅读:
    oracle 例外
    Help with Intervals(集合的交并补,线段树)
    Mex(线段树的巧妙应用)
    hdu4578Transformation(线段树多个lz标记)
    Coder(线段树)
    Ice-cream Tycoon9(线段树)
    Partition(线段树的离线处理)
    ACM学习大纲(转)
    Codeforces Round #250 (Div. 1)
    记次浙大月赛 134
  • 原文地址:https://www.cnblogs.com/52kj/p/12436293.html
Copyright © 2020-2023  润新知