CSRF是什么:跨站请求伪造(Cross-siterequest forgery)通常缩写为CSRF 或者XSRF
能干嘛呢:利用用户的身份去访问用户的网站。跟跨站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站对用户网页浏览器的信任
CSRF原理: 1、CSRF是攻击者通过一些技术手段欺骗用户的浏览器去访问一个用户自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品)。由于浏览器曾经认证过,所以被访问的网站会认为是真正的用户操作而去运行。这利用了web中用户身份验证的一个漏洞:简单的身份验证只能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的;
2、CSRF是攻击者通过一些技术手段欺骗用户的浏览器去访问一个用户自己曾经认证过的网站并运行一些操作(如发邮件,发消息,甚至财产操作如转账和购买商品);
有哪些危害: 1、 盗用用户浏览器的身份去访问用户自己曾经认证过的网站并运行一些操作(如发邮件,发消息,转账和购买商品等);
2、 如果CSRF发送的垃圾信息还带有蠕虫链接的话,那些接收到这些有害信息的好友万一打开私信中的连接就也成为了有害信息的散播着,这样导致数以万计的用户被窃取资料还被种植了木马;
如何防御: 1、 检查Referer字段 HTTP头中有一个Referer字段,这个字段用以标明请求来源于哪个地址。在处理敏感数据请求时,通常来说,Referer字段应和请求的地址位于同一域名下;
2、添加校验token CSRF的本质在于攻击者利用用户的身份去访问用户可信的网站,所以如果在访问敏感数据请求时,要求用户浏览器提供的内容不保存在cookie中,并且使用攻击者无法伪造的数据作为校验,那么攻击者就无法再进行CSRF攻击;
|