CSRF:恶意网站借用用户在浏览器中存储的好网站的cookie,以用户在好网站的身份,在好网站进行非法操作。
http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html
服务端防御方法:
1. 在表单(提交到好网站的、post)中加入随机数(每次相同或不同的随机数):恶意网站无法获取好网站的cookie,只能借用。
2. 验证码
针对单点登录系统,由于IdP处的cookie本身就是共享的,因此在IdP处很难防止CSRF;但是可以实现对RP处的CSRF防御,这里需要假设恶意脚本无法通过获取RP处生成的随机数。
防御方法时:讲一个随机数绑定到session中,然后再每次请求中包含该随机数,从而保证发送的消息与接收到的消息的匹配,而非来自一个恶意攻击者构造的消息。
如何防止在用户不想登录某个RP的情况下,恶意脚本使得用户登录了呢?
好像,目前SSO中防止CSRF的目的主要是防止victim以攻击者身份登录了RP。
网友评论