由于存在利用条件,个别漏洞平台不认为是漏洞,欢迎大家讨论~~
0x00 原理说明
目前登录体系中存在常见的两种认证,一种是session认证,一种cookie认证。由于没有对密码相关字段的及时刷新策略,导致即使更改密码后,老密码凭证方只要没有关闭浏览器并持续访问,便可继续操作,给用户会员带来帐号被劫持的风险。
0x01 触发前提
1. 帐号被盗(信息泄漏类、抓包探测类、肩窥技术等)
2. 数据库大面积泄漏(CSDN、12306等知名网站)(进一步撞库)
3. XSS类漏洞致cookie凭证泄漏
使用以上三种方式获得的用户凭证,登录上系统后,使得存在“漏洞”的网站用户纵然更改自己的密码,恶意者仍然可以继续增删改查等操作。并且通过自动化平台持续访问,可以达到老凭证永久生效。
0x02 测试步骤
1. 使用同一帐号,使用两个浏览器A、B同时登录
2. 浏览器A修改掉密码,然后浏览器B刷新或者修改等操作
0x03 测试过程
众多厂商请自行测试,下面以某婚恋网站进行测试。
1. 测试帐号,两个浏览器同时登录
2. IE浏览器修改密码
3. 火狐浏览器继续访问,并执行查询、修改等操作。发现仍然可以操作。
4. 使用脚本持续访问,两天后发现仍可使用旧密码的cookie进行访问,并执行查询、修改等操作。
0x04 测试代码
为了便于测试,保证老凭证的“永久”有效性,可以用下面代码简单测试。
0x05 加固建议
1. 具体问题具体分析,目前测试cookie认证和session均有可能存在这种问题
2. BATS 主站测试不受影响,或许可以作为样板参考加固 |