- 原理
如果用户登陆正常网站后, 正常网站的cookie没有过期. 这个时候如果用户被引导到了钓鱼网站, 钓鱼网站有一个属于原先网站的正常表单或者get请求, 如果用户被诱导做某些操作导致请求被触发了。 这个时候请求会携带上cookie你们用户在正常网站登陆时的授权信息, 这个时候服务器会认为用户是正常登录, 结果导致异常调用, 跨站点攻击达成。
- 怎么避免
有多种方案
- 辨别出跨站点攻击和正常调用不一样的地方, 然后区别对待。
比如服务端不支持跨域调用。
- 让跨站点请求拿不到用户的授权信息, 具体来说就是用户授权不再基于浏览器提供的认证机制: 前端请求时, 浏览器会自动把cookie信息放到header里用作服务端授权
比如用户登陆后, 返回给用户一个token, 保存在内存里面, 这样用户进入其他页面时。 就算触发了跨站点请求, 也因为没有授权信息被拦截
其他
中间人攻击