当前位置:   article > 正文

CSRF跨站点请求伪造

跨站点请求伪造

一、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值与用户身份凭证绑定。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/649905
推荐阅读
相关标签
  

闽ICP备14008679号