CSRF漏洞简介

csrf简介

CSRF 全称为跨站请求伪造( Cross-site request forgery ),是一种网络攻击方式,在 CSRF 的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了。也被称为 one-click attack 。

原理 

首先,我们来说一下cookie是什么?

所谓“cookie”数据是指某些网站为了辨别用户身份,储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。 通俗来讲就是指缓存数据,包括用户名、密码、注册账户、手机号等公民个人信息。

漏洞危害

常见 CSRF 漏洞危害如下 :
  • 篡改目标网站上的用户数据信息,如用户名手机号等
  • 盗取用户隐私数据。
  • 配合XSS漏洞造成更大危害。
  • 传播CSRF蠕虫。
  • 总结:简而言之,是利用目标用户的合法身份,以用户的名义执行非法操作。

 get型csrf

       在 web 应用中,很多接口都是通过 GET 进行数据的请求和存储,如果未对来源进行校验,并且没有 token保护,许多用户在登录一个网站以后,就会产生一个cookie ,去访问别的网站时,一般会利用cookie验证,而不验证来源,攻击者可以直接通过发送含有payload 的链接诱导点击来进行攻击。

post型csrf     

         post 型与 get 型的差别就是 get 型参数是在 url 中直接显示, post 型需要抓包才能看到参数
所以 post csrf 不能直接伪造恶意链接。而需要伪造一个页面,提交表单。
        可以自己编写代码,也可以通过 burp 抓包工具构造 poc。

csrf(token)

  • csrf的主要问题是敏感操作容易被伪造,我们可以加入token让每次的请求不容易被伪造。
  • 每次请求,都增加一个随机码(需要够随机,不容易被伪造),后台每次对这个随机码进行验证,抓包进行查看

图中的框为token

跟前面比较,这里多了一个 Token ,如果后台对提交的 Token 进行了验证,由于 Token 是随机的,我们就无法伪造URL 了。

防御手段

  • 验证HTTP Referer字段
  • 限制Cookie生命周期
  • 使用一次性token
  • 使用验证码或者密码确认方式进行

绕过方法 

  1. Referer 绕过
    referer 绕过: 其他协议( data )或 https http
    包含 referer 若只检查是否包含网址,只需在我们的网站上创建一个文件 / 文件夹即可
  2. CSRF-token 绕过
    删除令牌 :删除 cookie/ 参数中 token ,免服务器验证
    令牌共享: 创建两个帐户,替换 token 看是否可以互相共用;
    篡改令牌值 :有时系统只会检查 CSRF 令牌的长度;
    解码 CSRF 令牌: 尝试进行 MD5 Base64 编码
    修改请求方法 post 改为 get
    窃取 token :重定向、 XSS web 缓存欺骗、 clickjacking 等都可能导致 token 泄露
  • 28
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值