web安全学习笔记之-认证和会话管理-访问控制

密码是验证主人最简单常用的手段


网站要避免存密码的明文,CSDN被拖裤后,密码是明文的 非常悲剧。

密码必须用md5或者sha哈希后存起来,验证密码也是比较哈希值就可以了。

md5是不可逆的。但是彩虹表这种穷举法已经用于MD5的破解,但是只要网站在计算哈希的时候简单加一个私密字符串就可以对彩虹表取明文带来难度


支付网站除了密码,还用了多中手段去认证:动态口令、数字证书、第三方等。

黑客很难取得所有渠道的认证方式


用户登录完成后要和服务器建立一个session,服务器给用户分配一个session id

浏览器访问服务器要随时带上这个id,所以一般设置到cookie,受到同源策略保护


此时sessionid代表了用户,所以cookie劫持就能泄漏用户登录态。一般有xss,网络sniff(同一个链路层上监听数据),本地木马的方式

wap时代很多手机浏览器不支持cookie,于session id明文放到url中。更容易泄漏

session fixation攻击 只能说网站真的要够蠢到 接受用户的sid 且认证还不更换才能做到 让一个用户给另外一个用户分配sid的情况发生

session都有生命周期,但是有人会采取不停构造页面刷新请求或者设置cookie的expire时间来达到延长周期或者变成本地cookie 这样用户浏览器关闭后依然能用。在网吧的同学就悲剧了。防御办法就是后台要强制session 过期



访问控制

在一个大的系统里,肯定存在多用户 多角色 。每个人拥有什么样的权限是需要访问控制的

权限管理分水平和垂直两个方向  。

水平管理就是  用户a是否有权限访问用户B的数据呢?

垂直管理就是  低权限的用户 可以做高权限的敏感操作吗?





你可能感兴趣的:(web安全)