有效防范CSRF攻击的手段有哪些?
此前,我为大家介绍过SSRF攻击、XSS攻击以及SQL注入攻击的原理及防范手段,本篇文章我将为大家介绍一下CSRF攻击-跨站请求伪造。那么CSRF攻击是什么?防范手段有哪些?具体内容请看下文。
CSRF攻击是什么?
CSRF,全拼为Cross-site request forgery,也被称为one-click attack或者session
riding,中文名称叫跨站请求伪造。一般来说,攻击者通过伪造用户的浏览器的请求,向访问一个用户自己曾经认证访问过的网站发送出去,使目标网站接收并误认为是用户的真实操作而去执行命令。常用于盗用账号、转账、发送虚假消息等。
攻击者利用网站对请求的验证漏洞而实现这样的攻击行为,网站能够确认请求来源于用户的浏览器,却不能验证请求是否源于用户的真实意愿下的操作行为。
CSRF攻击防范手段有哪些?
之一、验证HTTP Referer字段
HTTP头中的Referer字段记录了该HTTP请求的来源地址。在通常情况下,访问一个安全受限页面的请求来自于同一个网站,而如果黑客要对其实施CSRF攻击,他一般只能在他自己的网站构造请求。因此,可以通过验证Referer值来防御CSRF攻击。
第二、使用验证码
关键操作页面加上验证码,后台收到请求后通过判断验证码可以防御CSRF。但这种 *** 对用户不太友好。
第三、在请求地址中添加token并验证
CSRF攻击之所以成功,是因为黑客可以完全伪造用户的请求,该请求中所有的用户验证信息都是存在于cookie中,因此黑客可以在不知道这些验证信息的情况下直接利用用户自己的cookie来通过安全验证。要抵御CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于cookie中。可以在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。这种 *** 要比检查Referer要安全,token可以在用户登陆后产生并放于session中,然后在每次请求时把token从session中拿出,与请求中的token进行比对,但这种 *** 的难点在于如何把token以参数的形式加入请求。
对于get请求,token将附在请求地址之后,这样URL就变成:。
对于post请求,要在form的最后加上input
type="hidden" name="csrftoken" value="tokenvalue"/,这样就把token以参数的形式加入请求了。
第四、在HTTP头中自定义属性并验证
这种 *** 也是使用token并进行验证,和上一种 *** 不同的是,这里并不是把token以参数的形式置于HTTP请求中,而是把它放到HTTP头中自定义的属性里。通过XMLHttpRequest这个类,可以一次性给所有该类请求加上csrftoken这个HTTP头属性,并把token值放入其中。这样解决了上种 *** 在请求中加入token的不便;同时,通过XMLHttpRequest请求的地址不会被记录到浏览器的地址栏,也不用担心token会透过Referer泄露到其他网站中去。
js生成的验证码可以防止黑客攻击网站吗
验证码只是一种防止重复提交或频繁提交对服务器造成影响而采取的一种 *** ,可以有效的防止黑客的攻击。不论是客户端生成还是服务端生成,都会到服务端进行验证,所以在这里安全问题不用考虑的这么多啦。
什么是csrf攻击?
CSRF的攻击方式可以概括为:CSRF攻击者盗用了你的身份,并以你的名义发送恶意请求。
比如使用你的账号发送邮件,发消息,盗取你的账号,删除你的个人信息,购买商品,虚拟货币或银行转账。
总而言之,就是会造成个人隐私泄露以及财产损失。
扩展资料:
防御csrf攻击
验证码
验证码是一种防御CSRF攻击有效 *** 。其原理是每一种操作都让用户输入验证码。
CSRF攻击是在攻击者的攻击站点中构造 *** 请求,然后用户在不知情的状况下触发,而强制输入验证码,则可以让用户知道当前在操作什么,进而达到预防的目的。
但这种方式有一个问题,就是每个操作都强制用户输入验证码,因此用户体验并不好,所以并不常用,只能作为一种辅助的预防手段。
网站的会员注册时,手机验证码被攻击怎么防护?
之一步:注册会员加图片验证码,防止注册机;
第二步:新注册会员限制多少天内不能发短信;
第三步:发短信加强验证码,防止多线程POST;
第四步:如果能做到更多,就是限制每个IP每分钟发送次数,注意做限制不要光做到前端,后台也需要做判断;
第五步:针对性地增加屏蔽策略,攻击的人只管请求,不管返回,所以升级了屏蔽策略,识别出了攻击者并做了屏蔽以后,返回消息也要返回“发送成功”之类的提示。
验证码可以防止拒绝服务攻击吗?
不能,验证码防止的是恶意提交和恶意注册,对于服务器攻击起不到任何作用的。至于程序,其实不复杂,原理上简单的说就是在SESSION对象里随机生成一个字符串或数字,然后把这个字符串显示到网页的验证码上,在提交的时候再进行比对。因为恶意提交的程序是无法知道服务器上SESSION具体数据的
验证码短信接口有没有好办法防止攻击?
普通自开发
发送时间间隔
设置同一个号码重复发送的时间间隔,一般设置为60-120秒。该手段可以在一定程度上防止短信接口被恶意攻击,且对用户体验没有什么伤害。但是不能防止黑客更换手机号进行攻击,防护等级较低。
获取次数限制
限制某个手机号在某个时间段内获取短信验证码次数的上限。采用这种策略时在产品设计过程中,有几点需要注意。
定义上限值。根据业务真实的情况,甚至需要考虑到将来业务的发展定一个合适的上限值,避免因用户无法收到短信验证码而带来的投诉。
定义锁定时间段。可以是24小时,可以是12小时、6小时。需要根据业务情况进行定义。
IP限制
设置单个IP地址某个时间段内更大的发送量。该手段可很好的预防单一IP地址的攻击,但是也有两个很明显的缺点:
对于经常变更IP地址进行攻击的黑客,该手段没有很好的效果。
IP的限制经常会造成误伤。如在一些使用统一无线网的场所,很多用户连接着同一个无线网,这个IP地址就容易很快达到上限,从而造成连接该无线网的用户都无法正常的收到验证码。
图形验证码
在发送短信验证码之前,必须通过通过图形验证码的校验。这种手段相对来说可以防止某些攻击,因此也是目前非常普遍的短信防攻击机制。但是在使用过程中涉及到用户体验问题,不能简单粗暴地套用这一策略。以下几个点值得仔细考虑:
是不是每次获取短信验证码之前都需要用户输入图形验证码,一般来说这样做会极大地影响用户体验,虽然是相对安全,但是用户用着不爽了。
可以给一个安全范围。结合手机号限制、IP限制来考虑,比如同一个手机号当天第3次获取短信验证码的时候,出现图形验证码;比如同一个IP地址当天获取验证码次数超过100次后,出现图形验证码。
加密限制
通过对传向服务器各项参数进行加密,到了服务器再进行解密,同时用token作为唯一性识别验证,在后端对token进行验证,验证通过才能正常将短信发送。该手段可以在保证用户体验的情况下,可以有效防止某些攻击,因此也是目前比较常见的短信防攻击机制。同时也有很明显的缺点:
使用的加解密算法可能会被破解,需要考虑使用破解难度较大的加解密算法。
在算法不被破解的情况下可以有效防止报文攻击,但是无法防止浏览器模拟机式攻击。
以上是几种常见的短信风控策略,在具体的产品设计过程中,可以综合使用。
使用第三方防御
短信防火墙
为了在产品安全和优秀的用户体验之间寻找一个极佳的平衡。新昕科技的产品研发团队结合各种风控策略的优点研发出了一款短信防火墙。 从以下几个方面概括一下:
为保障优秀的用户体验,摈弃了目前影响用户体验最为严重的图形验证码等人机校验程序,做到无感验证。从而达到完美的用户体验。
结合用户的手机号码 、IP地址 、设备指纹三个唯一身份标识设置不同维度的风控策略。将各个维度之间相互配合,达到一个最为合理的风控限制指标。
根据业务情况自动伸缩风控限制,在检测处受攻击时自动加大风控限制力度,在正常是再归回到正常风控标准。
考虑到存在新老客户的区别,特意增加老客户VIP通道,在受到攻击时,风控指标紧缩的情况下,保证老客户通道畅通无阻,从而降低误伤率。
通过以上策略可以有防止黑客通过随意切换手机号及IP地址的方式可以刷取短信。同时加入模拟器检测,以及参数加密等风控策略,有效防止黑客攻击。
可通过风控防火墙控制台,实时观测风控结果,在受到攻击时达到之一时间预警的效果。
如需了解更多请关注新昕科技官网:newxtc.com
短信防火墙
0条大神的评论