安全漏洞——失效身份认证和会话管理(二)
一、失效身份认证和会话管理漏洞
1.定义
2.名词解释
3.造成缺陷原因
4.举例
5.防止攻击手段
一、失效身份认证和会话管理漏洞
1.定义:应用程序中与身份验证或者会话相关的功能未正确实现,导致攻击者可以破坏密码、**、会话令牌或者利用其他缺陷来假冒用户的身份,达到攻击的目的。
2.名词解释:
-
Session
服务器端记录用户的信息,当用户完成身份认证后,存储所需要的用户资料。
- Cookie
服务器端发送,存储在客户端。在用户访问网站的时候建立(登陆),用于跟踪用户在网站中的活动,每次请求和客户端都需要发送此信息至服务器端进行校验。 -
身份认证
常用于系统登陆,比较常见的就是密码和用户名的校验,安全性更高的还有图片/手机验证码、证书或者ukey等。 -
会话管理
通过会话机制来进行身份认证,用户登陆时生成唯一的token,服务器端存储在session中,客户端存储在cookie中,之后的身份识别均校验token即可,不需要再校验用户名和密码等。
3.造成缺陷原因
4.举例:
a.凭证填充:使用已知密码的列表,对用户进行逐一**尝试,如果程序不限制身份验证尝试,那么应用程序可作为密码的orcal,来确认凭证是否有效
b.弱密码:使用简单连续的数字或者字母,例如123456,会很容易被暴力**
c.密码**:掌握了密码的组合方式或者加密的细节,
d.不安全的密码存储:密码采用明文、可逆的加密密码或弱散列密码
e.cookie窃取&伪造&绕过:cookie放在客户端,导致比较容易被窃取
f.越权访问:分为垂直越权和水平越权,垂直越权就好比普通用户可以使用管理员才能使用的功能,别入人员的增删改查等。水平越权是同一级别的越权。
g.会话固定:攻击者诱骗用户使用拟定的session ID,导致应用程序不生成新的session ID
h.会话劫持:攻击者作为中间件参与用户与服务器之间的数据交换。例如监听敏感数据、替换数据等。由于攻击者已经介入其中,他能轻易知道双方传输的数据内容,还能根据自己的意愿去左右它。这个“中转站”可以是逻辑上的,也可以是物理上的,关键在于它能否获取到通信双方的数据。
5.防止攻击手段