A_117_前端安全 认证
2021-04-09 10:52:42 1 举报
AI智能生成
全面、高效的知识图谱:A_117_前端安全 认证!! 全面又深度的提升认知,达到实际应用的目的! 建议先纵观全局,掌握好大方向。 再根据自己的需要,针对性的学习某一个点,最后做到逐步由点及面。
作者其他创作
大纲/内容
SSO
OAuthor 2.0
分支主题
https
OpenID
问题:
前端安全&认证
token
安全验证令牌
cookie
超链接
会话cookie
内存
持久cookie
硬盘
存储在硬盘上的cookie可以在不同的浏览器进程间共享
容量限制4k
主要包括:名字,值,过期时间,路径和域
可被读取
广告类站点会使用cookie记录浏览过哪些内容
搜索引擎会使用cookie记录历史搜索记录
生命周期
session cookie
浏览器退出时销毁
persistent cookie/tracking cookie
设置了超时时间的cookie,会在指定时间销毁,cookie的维持时间可以持续到浏览器退出之后
secure cookie
只有通过https协议传输的时候才会带到网络请求中,不加密的http请求不会带有secure cookie
HttpOnly cookie
设置了这个属性的cookie在javascript中无法获取到,只会在网络传输过程中带到服务器
cookie有什么用
session管理
cookie同时也是session id的载体
个性化
用户可以拥有自己的Google自定制主页
user tracking
cookie也可以用于追踪用户行为,例如是否访问过本站点,有过哪些操作等
cookie窃取和session劫持
最基本的cookie窃取方式:xss漏洞
防御 根据上面HttpOnly cookie
xss结合phpinfo页面
利用php开发的应用会有一个phpinfo页面。而这个页面会dump出请求信息,其中就包括cookie信息
防御关闭所有phpinfo类dump request信息的页面
XSS + HTTP TRACE = XST
利用xss异步发起trace请求,又可以获取session信息
关闭web server的trace支持来防御XST攻击
HTTP Response Splitting
防御 针对header的内容做过滤,不能漏掉\\
无需拿到session cookie,跨站发起请求就可以了,这就是CSRF
防御方式:使用anti-forgery token
思路
大部分攻击都是提权行为,最基本的提权通过偷取用户名密码,不成功转而窃取session,窃取不成转而跨站攻击,实在不行重放也可以造成危害
cookie简单操作
cookie记住用户名、密码
cookie自动登录
存
获取用户,密码,保存cookie
MD5加密:用户名+密码+有效时间+webkey(123456)
BASE64编码:用户名+有效时间+MD5加密串(含密码)
存入cookie
取
Base64解码
MD5加密:使用数据库中的 用户名+密码+有效时间+ webSiteKey
需前段MD5加密
MD5加密后比对,依然需要后台完成
escape() 编码/unescape() 解码
与encodeURIComponent差别
如密码可暴露在cookie中,则可无需加密.可也无后台支持,全js完成cookie操作
session
客户端保存 session Id
服务端存储 session
session 存在在服务器的一个文件里(默认),不是内存
session 可以放在 文件,数据库,或内存中都可以
载体
cookie(默认)
url重写
表单隐藏字段
场景
用户验证这种场合一般会用 session
注意关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效
同一个账户在两个地方登陆,有人在一个地方改了这个账户的密码,另外一个地方还能发微博,web程序的身份认证只认session,无法知道你改了密码。
登录模式
网吧模式
勾选网吧模式后,登录的帐号会在歪歪注销/退出的时候自动清除,不会留在登录框中,可以保护自己的帐号不对外泄露,建议在外地上网时使用,比方网吧或者其他人机器上登录时
记住密码
勾选记住密码后,系统会记住你所登录的帐号和密码,注销后帐号和密码会自动留存在登录框,退出后再登录,帐号、密码会自动出现在登录框。方便下次登录,建议在自己电脑上使用,以免造成不必要的损失
自动登录
记住密码后,再勾选上“自动登录”,这样下次登录时,会默认上次记住的帐号和密码,自动连接登录
特征码
OAuth 1.0
OAuth跟OpenID差不多实际不属于SSO范围.是用户身份权限制认证。解决的问题是授权
0 条评论
下一页