csrf攻击原理及防范

薄洪涛7年前PHP1625
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。

在不少的php框架中都有防csrf攻击的方法,比如yii2.0,建议在开发的时候尽量不要全局关闭。

你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。

CSRF能够做的事情包括:以你名义发送邮件,转账,付款

攻击原理图:

clipboard.png

一次攻击的两个步骤:
      1.登录受信任网站A,并在本地生成Cookie。
2.在不登出A的情况下,访问危险网站B。
譬如某网站A的关键操作是www.test.com?a=1
假如你登陆了A网站,没退出,又登陆了B网站,B网站中恰好有这么一段代码
<img src = www.test.com?a=1>

那就直接执行了A网站的关键操作

上诉我们描述了get请求时的csrf攻击,即使不是get提交,我们也可以用js或者其他工具模拟请求方式

防御:
CSRF的防御一般都在服务器端进行验证,常用的防御措施如下:
1.Cookie Hashing(表单都要包含一串Hash值做验证):表单中加一个隐藏值,提交表单在服务器端验证;

2.每次关键提交操作,加一个验证码或者其他验证手段(比如app端二次验证),但是不是很友好;

3.通过用户传递的token,referer来检测

4.严格设置cookies域(避免全站通用)


标签: csrf攻击

相关文章

YII2独立开发遇到的坑

    之前开发的时候,遇到图片上传什么的都是直接用前辈们配好的插件等等,换了家公司以后,要自己独立开发项目,顿时遇到了问题,开始是项目的配置,然后在添加的时候遇到了图片上传的问题...

抢红包的一些实现思路

抢红包的一些实现思路

最近探索了关于抢红包的一些实现思路,在此记录下本篇文章主要探讨了金额随机算法关于分布式锁的一些探索我们开始,首先说下抢红包的业务流程,分为两步,发红包和抢红包,在抢红包的时候,并发是非常大的,我们这里...

Yii2.0整合ueditor并上传图片到七牛云

Yii2.0整合ueditor并上传图片到七牛云

某个项目要做一个文章模块,用到Ueditor,并且ue中的图片要上传到七牛,所以总结下步骤;1、Yii2.0下载ueditor for Yii2.0和七牛composer require&n...

php高级特性之反射

何为反射?字面理解,就是根据到达找到源;在面向对象编程中的反射就是根据对象去找出它所属的类,及类的方法,详情;首先声明一点,反射在实际开发中用的很少(至少我没用过),但是在编写文档的时候,可以用于文档...

七牛上传报文件已存在

之前做了一个大文件的分片上传,做好之后就没管了,让客户端一直自己用着,然后期间偶尔会有浏览器不兼容的现象我也懒得改,然后十一回来,客户端就给我说,有文件上传不上去,然后正好手头没活,就用改了下先看下思...

Yii2.0引入Ueditor

Yii2.0 引入Ueditor流程和其他框架不同必须引入Ueditor for Yii2.0,否则不能正常使用1,composer下载 composer require ...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。