csrf-原理
2023-07-27 10:21:15 4 举报
csrf-原理
作者其他创作
大纲/内容
http://search.msb.com
网站B
Auth服务
客户浏览器
3.没有退出A网站的情况下访问B网站
www.bankchina.com
中国银行
5.用户携带cookie向A发送转账请求
5.用户操作的正常页面都会有隐藏的随机值,而黑客网站是没有的,那么服务端通过这个可以来校验判定
www.bankhacker.com
4.触发了向A网站发送转账的请求
不同服务我们需要通过子域名共享session来解决
http://auth.msb.com
一级域名
不同服务,session不能共享问题
1.浏览并登录
网站A
商城系统
网站A吧不知道第五步的请求是用户主动发起的还是黑客网站攻击的,都会携带Cookie,这时就处理了转账请求
商城首页
Referer:www.bankhacker.com
网站B【黑客网站】
2.登录成功返回cookie
http://bobo.auth.com
客户管理系统
http://www.mall.com
http://bobo.mall.com
二级域名
解决方案一:检查Referer字段
多系统的场景下分布式Session就使用不了
多系统场景下的解决方案:单点登录
认证服务
解决方案二:CSRFToken
http://www.msb.com
1.用户第一次请求-生成一个随机值 Token 然后存储在session中,响应的登录表单页面中会有一个input隐藏域存储这个随机值
http://msb.mall.com
商品服务
msb.crm.com
会员服务
msb.oa.com
http://mall.msb.com
服务器会检查请求是否是从www.bankchina.com这个域名下来的,如果不是就认为是非法的请求
msb.mall.com
存在CSRF漏洞的网站:中国银行攻击者:网站B受害者:用户
http://www.auth.com
http://msb.auth.com
OA系统
2.用户提交登录表单的时候提交了这个随机值,在服务端和session中存储的做比较。不相同则判定为CSRF攻击
0 条评论
下一页