CSRF跨站点请求伪造

本文详细解释了CSRF的概念,通过GET和POST实例展示了其如何利用用户的已登录状态进行操作。同时介绍了XSS与CSRF的结合使用,以及常用的防御措施,如Referer验证和token绑定。
摘要由CSDN通过智能技术生成

一、CSRF定义

CSRF(Cross Site Request Forgery)跨站点请求伪造。利用受害者在被攻击网站已经获取的身份凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的。(与XSS不同点在于,XSS是利用受信用户发而CSRF是利用受信任用户的身份信息绕过后台验证)

二、CSRF实例(GET)

1、在两个浏览器登录两个不同的账号,设1337为攻击者,admin为被攻击者。(注意!一定要分别两个浏览器登分别登录这两个账号,两个难度等级都设置为low)

2、攻击者1337点击CSRF进行密码修改,并且提交。

3、将提交成功后的url发送给被攻击者。

4、被攻击者admin在自己的浏览器中新建标签对新的url进行搜索。

5、这时候被攻击者的密码也被重置,攻击者可以拿着被攻击者的用户名和新的密码在自己的浏览器上进行登录。

6、登陆成功、攻击发生

这个漏洞利用的是admin在自己浏览器上登录所保留的Cookie。

除修改密码的运用场景还有发表文章、转发文章、管理员增、删、改用户、下订单、加购物车、发表评论、QA管理系统、加列表(也就是页面中用form表单发送HTTP请求的地方都存在)

三、CSRF实例(POST)

1、在两个不同的浏览器分别登录搭建的pikachu环境中。攻击者先登录vince账户,对用户信息进行更改。

2、修改完信息后,抓修改包

3、用allen的用户在受害者的浏览器上登入。

4、攻击者刚抓到的包generate CRSF Poc(生成一个crsf的poc)

得到

5、copy下来这个poc,新建一个html网页,复制进去,在受害者的浏览器中打开这个网页,并点击submit按钮。

6、点击按钮后,grady的个人信息就被修改了,攻击成功

如果想设计一个不需要点击submit就可以攻击的Poc选择option中的auto-submit

四、XSS与CSRF组合利用

将CSRF的Poc放在上传至有存储型XSS的接口,用户访问到存储型XSS漏洞页面就会改掉密码或造成攻击者设计的危害(网站跳转window.location="")。

self型XSS,通过CSRF Poc里提交XSS的payload,达成selfxss。

通过xss操纵js代码,获取当前页面的token,再触发CSRF Poc达成漏洞利用。

五、CSFR防御

Referer通过验证请求的Referer来源,判断是否是同源发起的请求(但Referer可以伪造)。

设置随机token值与用户身份凭证绑定。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值