A5失效的身份认证和会话管理
- 身份认证一般是登录网页的登陆过程需要用户提交身份信息和账号密码,身份认证最常用于系统登录,形式一般为用户名和密码登录方式,在安全性要求较高的情况下,还有验证码、客户端证书、Ukey等;
危害
窃取用户凭证cookie等,修改用户的个人信息和盗取账户等操作。
http://example.com/sale/saleitems;jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV?dest=Hawaii
这个链接当中包含了sessionid会话ID已经将自己的信息进行了泄露
同样的就是数据库信息和数据库密码容易在这里暴露出来
如何判断
1.用户身份验证凭证没有使用哈希或加密保护。
2.认证凭证可猜测,或者能够通过薄弱的帐户管理功能(例如账户创建、密码修改、密码恢复, 弱会话ID)重写。
3.会话ID暴露在URL里(例如URL重写)。
4.会话ID容易受到会话固定(session fixation)的攻击。
5.会话ID没有超时限制,或者用户会话或身份验证令牌特别是单点登录令牌在用户注销时没有失效。
6.成功注册后,会话ID没有轮转。
7.密码、会话ID和其他认证凭据使用未加密连接传输。
介绍
cookie指的是会话保持session中客户端保持状态的方案
写在http的响应头set-cookie段
http-only不允许Javascript防止XSS攻击
分为:
会 话Cookie:会话周期,浏览器窗口关闭就消失,在内存里面
永久性Cookie:可以在不同浏览器进行共享,存储在硬盘中
Session机制
相比较Cookie存放在客户端,Session存放在服务端,会话结束,服务端结束本次传输
,每次会话会有一个SessionID存放在Cookie中发放给客户端,会话期间的存活期是30分钟
认证漏洞
1.登录网页的时候没有登陆次数限制,也没有验证码限制,可以通过工具进行暴力破解
2.找回密码方式过于简单,容易让知道账号的人进行盗取密码
3.重放攻击,破坏身份认证的 正确性,将劫持的数据包重新发放给服务器达到欺骗目的
HTTP会话劫持
三种方式,暴力破解sessionID,窃取sessionid,XSS和抓包过于简单的sessionid可以被计算出来。
HTTP会话固定
攻击者事先准备一个会话让用户登录,如果用户登陆了网站,sessionid没有过期,就可以使用这个session 的cookie信息再次登录
A6不安全的直接对象引用 Insecurity Direct Object Reference
指的是一个活的授权的用户通过某些参数获得了其他的访问权限访问了一些其他的并没有得到授权的内容。
用户登录某一个站点之后,进行了一次身份验证之后,程序不会每次都验证用户是否有权限访问本目录,就会存在不安全的对象引用漏洞。
预防
1.因为不安全的对象引用有一部分原因是因为能够猜测到用户的ID或者标识符号,但是如果使用一些复杂的标识符变得难以猜测。
2.加强用户的访问控制策略,对于来自不可信任的源的对象必须通过访问控制的检查。
3.使用间接对象访问控制,将间接引用映射到数据库关键字
A7 功能级访问控制缺失
任何人具有网络的访问权限,然后没有严格限制权限,一个拥有权限访问网页的人但是修改了网页怎么办,管理性功能主要会存在这类漏洞。
检测:
1.用户UI界面是否存在到未授权功能的导航
2.服务端的身份验证功能是否完善
3.服务端检查的信息是否仅仅依靠攻击者提供的信息
预防
1.应用模块应当使用同一的易于分析的模块,所有业务可以调用这个模块
2.执行机制在缺省的情况下,应当拒绝所有访问,对于每个功能模块的访问,应当进行严格的限制,授予特定的角色权限进行访问。
3.某功能使用了检测模块是否存在逻辑漏洞
A8 安全配置错误
错误配置可以发生在方方面面,包括错误端口开启,Web服务器等等,自动扫描可以用于检测未安装更新的补丁,默认账号的使用和不必要的服务等等
检测:
1.是否有软件没有及时更新?操作系统、服务器、管理系统、应用程序等
2.是否使用了安装了其他不必要的功能?3389端口,磁盘共享等等
3.是否依然使用默认账号密码
4.是否设置了防止你的错误配置会让大量信息被泄露
5.你的开发框架是否设置得当
A9 敏感信息文件泄露
敏感数据和这些数据的备份被泄露,传输中的数据甚至是客户浏览器中的数据存在被泄露的可能,往往通过中间人攻击的方式窃取秘钥等,从服务器窃取明文数据对传输中的用户数据进行破解,主要是不加密文件,弱密码和弱算法。
预防
1.存在备份文件无论在哪里存放多久,都应当被加密
2.不要使用明文传输信息
3.对于已经公开的弱密码,弱算法应当及时更新
4.对于浏览器漏洞及时更新
5.对于没必要存在的敏感信息及时删除,禁用自动收集敏感信息,敏感函数的文件和功能
A10 未受保护的API
程序接口,应当确保客户端和服务端的通信信道是使用了安全的信道,强认证模式,做好安全加固,禁止不授权的访问


289

被折叠的 条评论
为什么被折叠?



