会话管理:
会话ID嵌入URL
(会话ID由referer信息头泄露,造成伪装攻击)
无session验证
(越权)
会话未清除
(窃取cookie 先退出关闭会话)
Cookie secure
(cookie会通过窃听而失窃)
Session fixation
(会话固定攻击)
使用firebug查看cookie属性
登录前后sessionid未发生变化并且拼接在url中
错误的会话管理之防御:
会话ID嵌入url 会话ID保存在cookie中
无session验证 所有访问都要在会话中
会话未清除 注销,关闭浏览器超时清除会话
session fixation 认证之后要修改sessionid
重放攻击
两种 报文重放和cookie重放
cookie重放:
设置一个有效的sessionid就可以登录
防御:
新鲜性:一次失效的随机数保证url或者报文的新鲜性
时间戳:系统保持始终同步,设置一个合理的时间窗
暴力破解:
正向和反向破解
正向破解是一个账号使用多个密码来破解,过程可能会被系统锁定
反向破解是已知五次密码错误就锁定,我用四个密码去破解多个账号
验证码:
随机性不足 未一次失效
复杂度不足 校验码未刷新
本地生成(在html或者js中生成验证码)
图形识别工作识别
异步提交(先校验验证码在校验密码,当验证码校验成功bp抓包直接破解密码就不用理会验证码)
未有失效时间
短信炸弹
账号枚举:
错误提示只显示用户名错误,可以指定账户
密码复杂校验
锁定:
正向锁定:一个用户匹配N个密码
反向锁定:一个密码匹配N个用户
防御:
保证验证码的随机性
失效时间
密码验证码一起提交,防止异步
一次失效
禁止本地生成
删除验证码后门(000永远都有效)
限制短信的频率