身份认证
最常用的地方就是各种登录,现在很多应用使用了手机验证码认证的方式,以及联动QQ,微信,邮箱等登录方式,个人感觉比输入账号密码时SQL注入变少了很多,不过花里胡哨的逻辑漏洞变多了
会话管理
因为http本身是无状态协议,所以需要一些验证机制,会话管理一般为登录状态成功后,由服务器为客户端分配的令牌,要求是唯一并且不可预测,通常为客户端cookie,服务器端session,token两边都有
Session
Session负责在服务器端记录用户信息,在一个用户完成身份认证之后,存储所需要的用户资料,用于持久保存网站的活动。服务器使用唯一的会话令牌产生对应的会话ID
Cookie
Cookie由服务器发送并存储在客户端,在用户访问网站的时候创建,用以跟踪用户在网站中的活动,每次请求客户端都需要把它发送给服务器。当用户意外中断后,由于Cookie的存在就可以从中断的地方继续。
Token
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
这些令牌的功能大多都为再次登录时无需进行登录认证,只需读取授权令牌,增强用户体验,减少服务器压力等。
那么失效的身份认证字面意思就是指令牌等设计不合理,给了破坏者可利用的地方
可能出现的方式有很多
弱口令,掌握了口令加密,组合方式造成的口令破解,cookie被各种方式窃取,中间人攻击等,越权,只要url中出现明文id为敏感信息都是。
这是漏洞都出现在应用层