CSRF攻击及防御措施

来源:互联网 发布:阿里云过户域名流程 编辑:程序博客网 时间:2024/04/30 12:20

CSRF,跨站请求伪造,简单来说是盗用用户的身份,以用户的身份发送恶意请求,比如以用户的身份进行银行转账等。

原理:用户登录信任网站A,并生成本地cookie,在没有登出A的情况下,访问了危险网站B,B网站中要求访问第三方站点,发出request请求,浏览器带着A产生的cookie访问。

防御措施:

a.在请求地址中添加token并验证

在请求中放入攻击者不能伪造的信息,并且该信息不在cookie中,开发者可以在http请求中以参数的形式加入一个随机产生的token,并且在服务器建立一个拦截器来验证这个token。如果请求中没有token或者token中内容不正确的话,表示可能是攻击者发动的攻击。

b.验证HTTP Referer字段

http头中有一个referer,记录http请求的来源地址,访问一个安全受限的页面的请求必须来自同一个网站。当用户要提交一个请求时,请求的referer值需是提交按钮(触发请求)所在的页面的URL。

c.在http头中自定义属性并验证

通过XHR这个类,一次性给所有该类请求加上csrftoken这个http头属性,并且把token值放入其中。

d.验证码

每次用户提交都在表单上填写一个图片上的随机字符串作为验证码。


0 0
原创粉丝点击