CSRF原理介绍及pikachu靶场练习


CSRF原理

我根据pikachu靶场的概述来说明一下,因为这个概述中的例子让我理解了什么是CSRF,以及与xss的区别

场景:
当前有个用户A,登录了一个购物网站。黑客B想要更改用户A在这个购物网站的个人信息(如:电子邮件等等)

先看用户A改自己个人信息的操作:
登录→修改个人信息→提交→修改成功
所以说,如果黑客B要想修改用户A的个人信息,首先有两个步骤
①有用户A的登录权限
②发出修改个人信息的请求
但是①很难满足,因为用户A的权限需要成功登录才行,我们根据攻击时是否拿到用户权限来区别xss攻击和csrf攻击
XSS: 盗取用户的cookie,有了cookie就能够绕过登录,也就有了权限
CSRF: 跨站请求伪造,黑客来伪造用户请求,并没有拿到用户的权限,是借助用户的权限,让用户去自己提交请求

那么问题来了,用户不可能自己主动地去提交请求,那如何让用户在不知道的情况下去提交请求呢?
还是要分提交请求的类型,如get请求和post请求,我们下面以get请求为例子详细说明如何伪造,后续post请求将会在靶场实操中理解。

get请求如何伪造:
首先黑客B在这个购物网站 www.xxx.com 上自己注册个号,然后去修改下自己的信息,去观察修改包,来理解修改的原理。
他发现修改的请求url是:

http://www.xxx.com/edit.php?email=xiaohei@88.com&Change=Change

而且在修改的时候,并没有什么其它的限制,从这里可以看出我们能够利用url进行CSRF攻击

于是,他将这个url伪造一下(比如生成短链接),在用户A登录该网站之后,欺骗他进行点击,用户A点击这个链接,相当于向服务器发出修改个人信息的请求,这样用户A的信息就被修改了

至于如何欺骗他进行点击,那就是关于钓鱼的事情了,我们这里假设我们钓鱼成功,即用户A点击了我们的链接

可见,CSRF的触发条件比较苛刻,首先要在用户A登录了该网址,且用户A要在cookie有效期间点击了你构造的钓鱼链接。但如果是在这个网站上发现了xss漏洞,我们可以埋伏一个xss脚本来盗取cookie,我们有了cookie便直接可以去利用用户的权限去做任何事情。

上面解释的差不多了,如果你还没没明白的话,可以反复读读,之后还是建议跟着下面的靶场来实操一下能够更好的理解。


pikachu靶场CSRF漏洞实操

get请求

首先进入靶场,如图
在这里插入图片描述

我们随便登陆个用户进去(用户名密码在右边提示里面),我用的是用户名admin、密码admin
在这里插入图片描述

如图,我们修改个人请求的时候去抓个包
在这里插入图片描述

我们拿出url

/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=man&phonenum=1234&add=1&email=12345%40qq.com&submit=submit

我们把这里的信息改为我们想要修改的结果,然后把url生成为短链接→站长工具短链接生成

http://192.168.43.146/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=man&phonenum=110&add=110&email=Hack%40qq.com&submit=submit
生成短链接↓
http://i7q.cn/5MlDUL

生成完短链接之后直接去访问短链接,发现信息被修改
在这里插入图片描述


post请求

先进入靶场,如图
在这里插入图片描述
修改个人信息并抓包,来观察修改信息的原理
在这里插入图片描述
如图发现,这次的修改信息是以post形式来提交的,我们不再能够使用url来进行伪造,但是我们可以去创造一个html文件上传到服务器上,来让用户通过我们上传的html文件,来模拟向购物网站提交表单进而修改个人信息。
我们在burpsuite中右键来生成POC
在这里插入图片描述
如图成功生成POC
在这里插入图片描述
如图我们修改这个html文件
在这里插入图片描述

放到我们pikachu的根目录下
在这里插入图片描述
成功访问
在这里插入图片描述
我们抓下包来观察一下访问文件的过程,可以看到表单成功提交。
在这里插入图片描述
希望看到这里让你对CSRF有一个更深的理解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值