会话认证漏洞
- Session 劫持攻击
- Session 固定攻击
挖掘经验
遇到的比较多的就是出现在cookie验证上面,通常是没有使用session来认证,直接将用户信息保存在cookie中
session劫持攻击
Session劫持攻击是指黑客劫持目标用户的session id来获取网站服务器上未经许可的存取信息,特别是窃取目标用户等的cookie数据,来取得网站的认可
攻击步骤
实例
得到一个session id
新建attack.php
劫持一个admin的session id,更改admin的book数量为2000
刷新member.php页面,book变为2000
修复方案
- 使用随机而且长度够大的数字或字符串来当做session id
- 将网页之间传递的数据使用某种形式进行封装,特别是session id
- 更改session名称
- 注销后即销毁session的所有数据
session固定攻击
session 固定攻击是因为黑客固定住目标用户的session id,因此目标用户所使用的session可有攻击者指定
攻击步骤
修复方案
- 不要从GET/POST变量中接受session id
- 调用session_start函数后,立即产生新的session id,并删除旧的session
- 将session id存放在cookie内
- 注销后即销毁session的所有数据
- 使用时间戳来记录session的使用时间,如果两次session的相差时间太长,就销毁session的所有数据
- 检查用户的IP地址,如果IP地址改变就产生一个新的session id,并且删除旧的session