大客户采购热线 010-57180806

什么是CSFR跨站请求攻击及防御方法

CSFR跨站请求攻击原理示意图
跨站请求攻击原理示意图

CSRF即跨站请求攻击,是攻击者通过一些欺骗性的技术手段让用户的浏览器去访问一个自己以前登录过的站点并自动执行一些非授权的操作(如发邮件,发消息,甚至财产操作(如转账和购买商品))。因为浏览器之前认证过,所以被访问的站点会认为这是真正的用户操作而去执行。

这就利用了web中用户身份认证验证的一个漏洞:简单的身份验证仅仅能保证请求发自某个用户的浏览器,却不能保证请求本身是用户自愿发出的。

其实可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包含:以你的名义发送邮件;发消息;盗取你的账号;甚至于购买商品、虚拟货币转账……造成的问题包含个人隐私泄露以及财产安全。

一、CSRF原理

csfr跨站请求攻击原理示意图

从上图能够看出,要完毕一次CSRF攻击,受害者必须依次完毕两个步骤:

登录受信任站点A,并在本地生成Cookie。

在不登出A的情况下,訪问危急站点B。

二、常见的攻击类型
1.GET类型的CSRF
仅仅须要一个HTTP请求。就能够构造一次简单的CSRF。
样例:
银行站点A:它以GET请求来完毕银行转账的操作,如:http://www.mybank.com/Transfer.php?toBankId=11&money=1000

危急站点B:它里面有一段HTML的代码例如以下:


首先。你登录了银行站点A,然后訪问危急站点B,噢,这时你会发现你的银行账户少了1000块

为什么会这样呢?原因是银行站点A违反了HTTP规范,使用GET请求更新资源。

在訪问危急站点B的之前。你已经登录了银行站点A,而B中的 一个合法的请求,但这里被不法分子利用了)。所以你的浏览器会带上你的银行站点A的Cookie发出Get请求,去获取资源以GET的方式请求第三方资源(这里的第三方就是指银行站点了,原本这是http://www.mybank.com/Transfer.php?toBankId=11&money=1000 ,结果银行站点服务器收到请求后,觉得这是一个更新资源操作(转账操作),所以就立马进行转账操作。

2、POST类型的CSRF

如图解所示

三、如何防御CSRF
1、提交验证码

在表单中添加一个随机的数字或字母验证码。通过强制用户和应用进行交互。来有效地遏制CSRF攻击。

2、Referer Check

检查假设是非正常页面过来的请求,则极有可能是CSRF攻击。

3、token验证

(1)在 HTTP 请求中以參数的形式添加一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,假设请求中没有 token 或者 token 内容不对,则觉得可能是 CSRF 攻击而拒绝该请求。

(2)token必须足够随机

(3)敏感的操作应该使用POST,而不是GET。比如表单提交。

4、在HTTP头中自己定义属性并验证

这样的方法也是使用 token 并进行验证。这里并非把 token 以參数的形式置于 HTTP 请求之中,而是把它放到 HTTP 头中自己 定义的属性里。通过 XMLHttpRequest 这个类,能够一次性给全部该类请求加上 csrftoken 这个 HTTP 头属性。并把 token 值放入当中。这样攻克了上种方法在请求中添加 token 的不便。同一时候,通过 XMLHttpRequest 请求的地址不会被记录到浏览器的地址栏,也不用操心 token 会透过 Referer 泄露到其它站点中去。

5、作为普通访问者,你无法决定网站是否做了CSFR防御措施,不过你也可以做一些有意义的行动,比如,访问重要资产的网站时,不要同时访问一些来路不明的网站,重要网站的访问,要单独进行,访问结束,点击退出网站或注销登录,如果清空浏览器cookies缓存,效果更好!

四、关于web跨域Post使用token思路
1、移动端登录时,服务端验证表单信息。登录成功,生成token,返回给client

2、client将token存在localstorage/sessionstorage中,每次提交表单,必须要携带token

3、服务端获取请求,如果没有token忽略请求

封面,企业邮箱

正规企业单位怎样选择高性价比企业邮箱?附阿里云企业邮箱优惠券

企业邮箱是以企业域名做后缀的邮箱,既体现公司品牌形象,又方便公司主管人员对员工信箱进行统一管理,还能使得公司商业信函来往获得更好更安全的管理,是现今互联网时代不可缺少的现代化通讯工具。正规企业、事业单位和机构组织,一般都要配备以自家域名为后缀的企业邮箱。企业邮箱产品林林总总,那么怎样才能选择性价比高的企业邮箱呢?阿里云企业邮箱分销商万维景盛市场部总监江先生介绍说,一般选择企业邮箱,需要考虑以下因素

阅读更多 »
正则表达式

用正则表达式设计最复杂高强度密码同时要求大小写字母数字和特殊符号

用正则表达式设计最复杂高强度密码同时要求大小写字母数字和特殊符号?这个可以有!阿里云北京分销中心工程师这次给大家分享验证用户设置的密码强度的正则表达式。 验证用户设置的密码强度有哪些注意事项? 下面是几个不同密码复杂强度的实际案例, 让我们来看看怎么设置史上最复杂密码吧。

阅读更多 »
dedecms织梦建站模板

一读掌握dedecms织梦网站系统安装方法

一读掌握dedecms织梦网站系统安装方法,通过这一张图,让你完全掌握国内最受欢迎的网站管理系统DEDECMS的部署流程,从上传代码到运行程序、配置数据库、还原数据库、生成静态页,一应俱全,有了这张图解教程,安装织梦再也不求人了。发愁没有好的织梦模板?购买万维景盛安心主机,就送织梦精品模板,3000余套模板任选。

阅读更多 »
优惠券

阿里云虚拟主机优惠券2021年第九期

让亲们久等啦,阿里云虚拟主机优惠券2021年第九期终于闪亮登场了!一直观望打算入手阿里云虚拟主机的伙伴们有福了,这次万维小编为您带来4款阿里云虚拟主机优惠券,涵盖了asp.net,php多种脚本,共享虚拟主机和独享虚拟主机两种系列的阿里云主机优惠券,注意,是在渠道优惠价基础上再次优惠哦!

阅读更多 »
封面,企业邮箱

正规企业单位怎样选择高性价比企业邮箱?附阿里云企业邮箱优惠券

企业邮箱是以企业域名做后缀的邮箱,既体现公司品牌形象,又方便公司主管人员对员工信箱进行统一管理,还能使得公司商业信函来往获得更好更安全的管理,是现今互联网时代不可缺少的现代化通讯工具。正规企业、事业单位和机构组织,一般都要配备以自家域名为后缀的企业邮箱。企业邮箱产品林林总总,那么怎样才能选择性价比高的企业邮箱呢?阿里云企业邮箱分销商万维景盛市场部总监江先生介绍说,一般选择企业邮箱,需要考虑以下因素

阅读更多 »
正则表达式

用正则表达式设计最复杂高强度密码同时要求大小写字母数字和特殊符号

用正则表达式设计最复杂高强度密码同时要求大小写字母数字和特殊符号?这个可以有!阿里云北京分销中心工程师这次给大家分享验证用户设置的密码强度的正则表达式。 验证用户设置的密码强度有哪些注意事项? 下面是几个不同密码复杂强度的实际案例, 让我们来看看怎么设置史上最复杂密码吧。

阅读更多 »
dedecms织梦建站模板

一读掌握dedecms织梦网站系统安装方法

一读掌握dedecms织梦网站系统安装方法,通过这一张图,让你完全掌握国内最受欢迎的网站管理系统DEDECMS的部署流程,从上传代码到运行程序、配置数据库、还原数据库、生成静态页,一应俱全,有了这张图解教程,安装织梦再也不求人了。发愁没有好的织梦模板?购买万维景盛安心主机,就送织梦精品模板,3000余套模板任选。

阅读更多 »
CSFR跨站请求攻击原理示意图

什么是CSFR跨站请求攻击及防御方法

CSRF即跨站请求攻击,是攻击者通过一些欺骗性的技术手段让用户的浏览器去访问一个自己以前登录过的站点并自动执行一些非授权的操作(如发邮件,发消息,甚至财产操作(如转账和购买商品))。因为浏览器之前认证过,所以被访问的站点会认为这是真正的用户操作而去执行。

阅读更多 »
优惠券

阿里云虚拟主机优惠券2021年第九期

让亲们久等啦,阿里云虚拟主机优惠券2021年第九期终于闪亮登场了!一直观望打算入手阿里云虚拟主机的伙伴们有福了,这次万维小编为您带来4款阿里云虚拟主机优惠券,涵盖了asp.net,php多种脚本,共享虚拟主机和独享虚拟主机两种系列的阿里云主机优惠券,注意,是在渠道优惠价基础上再次优惠哦!

阅读更多 »