一篇文章教你学会CSRF漏洞

目录

一、概念

二、漏洞形成原因

三、漏洞利用条件

四、防御

五、CSRF漏洞检测

六、CSRF的利用


一、概念

SSRF漏洞(服务器端请求伪造):是一种由攻击者构造形成由服务端发起请求的一个安全漏
洞。 一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。

你可以这么来理解:攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等。

二、漏洞形成原因

CSRF漏洞产生的原因是网站对用户的身份没有进行严格的认证,导致用户的身份令牌被盗用,从而造成用户信息泄露或用户信息被修改等。

三、漏洞利用条件
  1. 攻击者伪造的链接信息和受害者是同一个浏览器
  2. 用户没关浏览器
  3. 用户访问了攻击者的链接
四、防御

1.将cookie设置成Httponly

CSRF攻击很大程度上是利用了浏览器的cookie,为了防止站内XSS漏洞,cookie设置Httponly的属性,js脚本就无法读取到cookie信息,避免攻击者伪造cookie的情况。

2.验证referer字段:校验HTTP Referer字段可以保证相关敏感操作来自授权站点的跳转。在HTTP协议中,定义了一个访问来源的字段,即HTTP_REFERER。站点可以在后端校验Referer是否来自于正常的站内跳转。如果攻击者诱导用户点击跳转链接,则Referer就为攻击者的主机,与网站内部内部跳转情况下的Referer字段不同。

3.二次验证机制:在敏感操作时候,不再直接通过某个请求执行,而是再次验证用户口令或者再次验证类似验证码等随机数。如:转账时,要求用户二次输入密码,短信验证码,图片验证码等。

4.增加Token参数进行校验:在敏感操作的参数中,增加完全随机的Token参数进行校验。这是目前业内防止CSRF攻击最常用的方法。因为CSRF产生的根本原因是,进行敏感操作时用户每次发送的请求都完全相同。因此,攻击者就可以把这样的请求进行封装包裹,诱导用户点击链接并发出请求。而如果在进行敏感操作时,增加完全随机的Token参数,每次进行敏感操作时发送的请求都不完全相同,攻击者也就没有办法伪造出一个合法的敏感操作请求,也就无法实施CSRF攻击。

五.CSRF漏洞检测
1.手动
  • 抓取正常请求包,判断请求头中是否含有referer字段和token字段,如果没有那就可能存在CSRF漏洞
  • 如果由referer字段,去掉referer字段后再提交请求,如果响应成功,则证明存在CRSF漏洞
2.工具

随着对 CSRF 漏洞研究的不断深入,不断涌现出一些专门针对 CSRF 漏洞进行检测的工具,如CSRFTester,CSRF Request Builder 等。

六、CSRF的利用

CSRF漏洞的payload类型

1.图片的srtc属性-----GET请求

2.超链接---GET请求

3.构建一个隐藏的表单,用户访问,自动提交------POST请求

七、漏洞用途

发送钓鱼邮件、盗用用户账号、网银转账、使用他人账号购买商品等,具体的危害跟存在漏洞的具体业务系统有关。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值