前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈csrf

浅谈csrf

作者头像
C4rpeDime
发布2018-08-28 11:06:33
8130
发布2018-08-28 11:06:33
举报
文章被收录于专栏:黑白安全黑白安全

概念

CSRF概念:

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。尽管听起来像跨站脚本(XSS),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与XSS攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比XSS更具危险性。

常见特性:

依靠用户标识危害网站

利用网站对用户标识的信任

欺骗用户的浏览器发送HTTP请求给目标站点

另外可以通过IMG标签会触发一个GET请求,可以利用它来实现CSRF攻击。

浏览器的同源策略:

同源指的是三个相同:

  • 协议相同
  • 域名相同
  • 端口相同

举例:

http://www.abc.com/1.html 协议是HTTP,域名是www.abc.com, 端口是80,它的同源:http://www.abc.com/lz/2.html(同源) http://www.12.com/2.html(不同源,域名不同) http://www.abc.com:8080/index.html(不同源,端口不同 )ftp://www.abc.com(不同源,协议不同)

同源目的:

保护用户信息安全,防止恶意的网站窃取数据。

例如,网站A的cookie,受到同源策略保护就不会被网站站B的恶意代码运行,因为不同源。

跨域请求的方法:

为什么要存在跨域?因为有同源策略,限制了同网站的二级域名等引用同一身份认证,避免了用户重复登陆的情况。

常见的请求方法:

1.jsonp

JsonP依赖于服务器端实现,我们在请求服务器资源之后,服务器可以返回一段js代码交由客户端执行, 在这段代码中附上客户端请求的信息。

比如客户端请求的url为 b.com/someResource?callback=someFunc, 服务器可以返回 someFunc({name: “someName”}) 交由客户端执行。

2.代理

比如我的前端服务器域名是 a.com, 我在js中想要访问 b.com的资源,我们可以在a.com中提供一个代理的api,比如 a.com/proxy, 这个接口的作用就是转发请求。 我们可以在payload中指定这个请求相关的信息, 比如真实资源的url,请求的方法,header和参数等。

3.CORS

CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器发出AJAX请求。

CORS需要浏览器和服务器同时支持。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。

原理

同源

完成CSRF攻击的条件

1.利用用户访问,受信任的站点,登陆状态,本地含有基础认证信息2.伪造正常用户请求,然后登陆状态,在用户不知道的情况下成功请求

挖掘漏洞注意点:

1.是否有token保护,token的不可猜测性2.验证了refer字段,确定网站的来源,来自可信任的网站3.是否存在跨域<img src="http://www.baidu.com"><img>标签不存在跨域

一般触发点: 修改个人资料,发信息,修改密码等

防御点: 比如说修改密码处,添加一个用户知道的信息验证,有本人发起,并非第三方伪造。

实例

Bwapp之csrf改你密码
浅谈csrf 黑帽艺术 第1张
浅谈csrf 黑帽艺术 第1张

是否有验证referer,一般在burpsuit->repeater重放测试

浅谈csrf 黑帽艺术 第2张
浅谈csrf 黑帽艺术 第2张
浅谈csrf 黑帽艺术 第3张
浅谈csrf 黑帽艺术 第3张

在挖掘漏洞中,注意参数中有没有token,csrf等参数,来判断是否存在csrf漏洞

xss for csrf 已知含有csrf漏洞,当把找到另一个xss漏洞的时候,配合xss+csrf xss为存储型,构造payload,当用户触发xss时并触发了csrf漏洞,造成了蠕虫的效果。

参考文章: 浏览器同源政策及其规避方法 http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html

玩转CSRF之挖洞实例分享 https://www.ohlinge.cn/web/web_csrf.html 

subtitle: “不要想的太复杂,用心即可。” author: “sodme”

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-06-242,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概念
    • CSRF概念:
      • 浏览器的同源策略:
        • 跨域请求的方法:
        • 原理
        • 实例
          • Bwapp之csrf改你密码
          • subtitle: “不要想的太复杂,用心即可。” author: “sodme”
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档