集互联网资源收集整理共享发布的优质博客。

【网站安全】站长必须知道的CSRF WEB安全漏洞

发布:太阳2020-1-19 23:14 分类: 技术教程

4c7e63a03a28ad8aa179fed883965622.jpg


什么是CSRF漏洞?


CSRF(全称:Cross Site Request Fogery,跨站请求伪造),顾名思义,黑客伪造了一个可以发起请求的页面,正好你访问了,还带上了一些cookie信息(身份信息),该页面就会向目标站点发起请求,发起的请求操作等同于本人去发起的请求,例如转账啊、修改资料等等


例如小王在登录了“XX网银”后,突然发现一个小广告,内容很诱惑,因此你忍不住点进去了,然后五分钟后舒服了…回来看自己的“XX网银”账户居然没钱了!!!


想到我也看过这个XX广告,立马看了看自己的XX网银,还好我没钱!站长朋友们得关注Web安全


1.如何检测CSRF漏洞是否存在?

借助BurpSuite,抓包后,去除HTTP头中的Referer字段,看看某些涉及到“增删改查”的操作是否还能正常执行,如果正常执行,那么就存在CSRF漏洞。


另外还可以借助BurpSuite上的Engagement tools –> Generate CSRF PoC功能,来生成CSRF POC,验证是否存在该漏洞


与此同时,可以借助CSRFTester工具来检测


下载地址:CSRFTester


检测其实和攻击有着异曲同工之妙,故此处不再赘述,关于CSRF的奇淫巧技有很多,可以参阅:《CSRF-苏醒巨人》- 百度文库


2.如何防御?


CSRF就是一种欺骗了服务器的漏洞,本来应该是A网站前端向A网站后端服务发起请求的,结果在B网站前端向A网站后端发起请求,结果也能执行成功!


针对CSRF漏洞,目前主流处理方式:


请求操作验证Token

校验Referer

自定义HTTP头中一些值

那么,在这个过程当中,主要三个步骤:


发起正确的请求

A服务器接受请求

A服务器处理并返回结果

那么,我们需要针对如上三个步骤来


步骤一当中,由于HTTP是无状态,所以就依赖于cookie和session来确认用户身份,在一个所以请求当中必定需要带上身份信息


这些cookie,由于浏览器的同源策略,所以就存在同源CSRF和跨域CSRF两种


针对步骤一,随机生成一个强token到页面中,每次操作请求都需要带上Token,Token每次执行完或没执行,刷新后都需要更新并销毁之前的session


针对步骤二和三,服务器需要判断Referer来源,确保是用户在当前站点发出的请求,与此同时,保证该站点不存在XSS之类的漏洞,对于用户内容输出的地方做好HTML实体编码,更多可以参考《《浅谈XSS绕过》》


以及,在步骤三处理请求过程中,首先需要校验的是Token或者自定义的一些属性,校验不通过则返回错误信息,并且终止后续逻辑,同时还要销毁原有效token,再生成新的token,也需要保证Token的强度


3.思路总结

CSRF常用利用场景包括请求伪造、Hijacking、蠕虫等等,至于想要扩大战果,隐式地长线钓大鱼就好了~

本站还有很多黑客技术相关的安全软件

太阳云
本站永久网址:www.taiyyun.cn
本站所有文章,未经允许一律不允许转载,违者后果自负
本站为资源分享网站,学到东西应该懂得感恩作者 无脑喷子永封IP段+删帐号所有评论
本站部分文章存在于网上收集,如侵犯您的权利,请告知管理员,我们会及时删除,并向您赔礼道歉.

本文已有 0 条评论,395 人浏览

发表评论:

欢迎使用手机扫描二维码,联系站长更方便!