常见网络攻击--CSRF
Posted 网安助手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常见网络攻击--CSRF相关的知识,希望对你有一定的参考价值。
CSRF全称跨站请求伪造(Cross-site request forgery)。一听好像跟XSS没什么差,确实XSS也是实现CSRF的一种手段。XSS点是在于跨站注入脚本,进而干坏事。CSRF点在于利用各种手段,实现伪造其他网站请求,不一定是通过XSS。
常见攻击途径
1. 通过GET请求
假如某博客网站发布留言的请求是 get: http://www.blog.com/message?content=留言内容 。
现在我登录了此博客网站A,然后又访问了另外一个网站B,B网站直接跳转到: http://www.blog.com/message?content=嘿嘿嘿 。那么你就在A网站自动的留言了一条“嘿嘿嘿”这样的内容。
所以说一切操作资源的请求,都不应该是GET请求。
2. 通过XSS
之前也阐述过,如果cookie设置的不安全,就可以通过xss获取他人的cookie,有了别人的cookie,服务端再也分不清我是敌是友了,便可以为所欲为。切记,通过xss获取到cookie,发起的CSRF攻击,理论上无法防御。但可以通过一些手段提高技术门槛。
防御手段
1.规范请求类型。
任何资源操作的请求,必须是POST、PUT、DELETE,总之不能是GET
2.检查Referer
即检查请求头中的来源网站,从而保证此次请求来源于信任的网站。
3.设置请求Token
当我访问页面时,服务端会在页面写入一个随机token值,并设置token生命周期。之后我的请求就必须带上此次token值,请求过的token就会失效,无法再用。更加安全性的页面,如登录页面,应该加验证码。
4.防住第一道防线-XSS
再次强调,如果cookie被别人拿走,任何防御都将在理论上失效。上述的防御手段仅仅是提高攻击门槛。有了你的cookie,我可以直接请求你的页面,获取你的token,获取你的验证码图片并解析出来,然后再发起请求。而服务器还以为这是你本人。
以上是关于常见网络攻击--CSRF的主要内容,如果未能解决你的问题,请参考以下文章