浅知CSRF

CSRF概述


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

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

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

CSRF的原理

在这里插入图片描述
从上图能够看出,要完毕一次CSRF攻击,受害者必须依次完毕两个步骤:

        登录受信任站点A,并在本地生成Cookie。(并且此 cookie 没有过期)

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

CSRF漏洞的原因


一方面,用户安全意识不足,访问不知名的url
另一方面,web没有做到准确的合法用户验证

CSRF的常见特性


依靠用户标识危害网站;
利用网站对用户标识的信任;
欺骗用户的浏览器发送HTTP请求给目标站点;
另外可以通过IMG标签会触发一个GET请求,可以利用它来实现CSRF攻击。

CSRF的危害


以你的名义发送邮件;发消息;盗取你的账号;甚至于购买商品、虚拟货币转账…造成的问题包含个人隐私泄露以及财产安全。

CSRF和XSS的区别


CSRF攻击者并没有拿到用户的权限,是借用户的权限完成攻击;而XSS可以通过盗取cookie来获取用户权限来完成破坏

识别CSRF漏洞


1)对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以被伪造
例如修改管理员账号时,不需要验证旧密码,导致请求容易被伪造;对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造
2)确认凭证的有效期
虽然退出或关闭了浏览器,但cookie仍然有效,或者session并没有过期,导致CSRF攻击变得简单

CSRF漏洞的防护


1)对于web站点,将持久化的授权方法(例如cookie或者HTTP授权)切换为瞬时的授权方法(在每个form中提供隐藏field)。 一种类似的方式是在form中包含秘密信息、用户指定的代号作为cookie之外的验证。
2) 添加验证码操作,增加与用户的互动。
3) 关键操作只接受POST请求。
4) 保持原有的参数不变,额外增加一个参数Token(两个随机字符串的hash应该可以满足)。Token是一次性的,每次成功后都更新Token。(个人理解 Token就像我们登录时的手机验证码,是一个随机信息)
5) 用户每次访问网站之后及时注销账户。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值