疑问:CSRF令牌防范机制是否会被钓鱼网站绕过?
这种场景不会突破标准CSRF令牌防护机制
核心原因是浏览器的同源策略在起作用:
- 钓鱼网站的域名和银行网站完全不同,浏览器会阻止钓鱼网站的脚本向银行网站发起跨域的AJAX/Fetch请求(包括你说的GET请求获取表单)。钓鱼网站根本拿不到银行页面里的CSRF令牌,自然没法伪造带有效令牌的请求。
- 退一步说,就算钓鱼网站想通过iframe加载银行页面,同源策略也会限制钓鱼网站的脚本读取iframe内的页面内容,同样拿不到令牌。
另外要明确:标准的CSRF令牌机制设计就是依赖同源策略来确保只有同域的页面能获取到令牌。只有当银行网站的CSRF实现存在漏洞(比如允许跨域请求直接获取令牌、令牌生成逻辑可预测)时,才可能被突破,但这属于实现错误,不是令牌机制本身的问题。
内容的提问来源于stack exchange,提问作者Byron
相关产品推荐
相关产品推荐

