从事网站开发学什么专业,网站建设优酷,电子商城网站的设计与实现,怎么填写网站备案申请本质#xff1a;挟制用户在当前已登录的Web应用程序上执行非本意的操作#xff08;由客户端发起#xff09;
耐心看完皮卡丘靶场的这个例子你就明白什么是CSRF了
CSRF(get)
使用提示里给的用户和密码进行登录#xff08;这里以lili为例#xff09; 登录成功后显示用户…本质挟制用户在当前已登录的Web应用程序上执行非本意的操作由客户端发起
耐心看完皮卡丘靶场的这个例子你就明白什么是CSRF了
CSRF(get)
使用提示里给的用户和密码进行登录这里以lili为例 登录成功后显示用户个人信息并且提供修改个人信息的链接 点击修改个人信息这里我们可以修改性别、手机、住址、邮箱 尝试对用户信息进行修改 点击submit提交后发现用户信息已经被修改 看到这里你肯定还是没明白CSRF到底是啥攻击体现在哪儿
我们使用burpsuite来对请求进行抓包 提取url
/vul/csrf/csrfget/csrf_get_edit.php?sexsexphonenumphoneaddaddressemailemailsubmitsubmit
拼接好完整的URL我这里是在自己服务器上搭建的靶场
http://snert.vip:10005/vul/csrf/csrfget/csrf_get_edit.php?sexsexphonenumphoneaddaddressemailemailsubmitsubmit访问这个url即可实现对用户信息的修改
注意实际加载出来的URL里面是看不到这些信息的姓名、手机、地址等 我们对payload进行修改
http://snert.vip:10005/vul/csrf/csrfget/csrf_get_edit.php?sexSSSphonenumNNNaddAAAemailEEEsubmitsubmit
访问该url 可以看到用户信息被再次修改 回到csrf的本质上挟制用户在当前已登录的Web应用程序上执行非本意的操作
换句话说这个修改的操作只能是用户本生自己去进行的客户端发起的请求只是说用户他自己并不知情他不知道自己只是点了一个链接竟然就修改了自己的信息或者密码。
比如我们换一个浏览器没有进行过登录没有cookie信息缓存并尝试访问上一个URL
http://snert.vip:10005/vul/csrf/csrfget/csrf_get_edit.php?sexsexphonenumphoneaddaddressemailemailsubmitsubmit 回显的是要求我们登录的页面 假如我不知道lili的密码我只有vince的密码 使用vince的账号登录后再次访问上述url看看会怎样
这是vince原始的信息 访问
http://snert.vip:10005/vul/csrf/csrfget/csrf_get_edit.php?sexsexphonenumphoneaddaddressemailemailsubmitsubmit
发现被修改掉的是vince自己的信息 也就是说登录的用户是谁产生的效果payload就作用于谁
至于怎样构造这样的URL如果我们在某个平台有自己的账户我们是不是就可以通过抓包来知道了呢从而构造出恶意的URL让其他用户点击就可以实现对其他用户信息的修改。
当然上面的这种URL看着太明显了我们需要对恶意的URL进行一定处理不被受害者察觉
最简单的方法就是进行短链接处理有很多的在线网站比如对
http://snert.vip:10005/vul/csrf/csrfget/csrf_get_edit.php?sexSSSphonenumNNNaddAAAemailEEEsubmitsubmit
处理之后就变成了
http://mrw.so/6vyWU4
http://i7q.cn/5xoQ1t
http://mtw.so/6vMlGu 这还能看出来是进行密码或者信息修改的操作吗
当用户随便访问了其中的一个链接就会对用户信息的进行修改。 有些平台的短链接需要进行跳转不建议使用这种
https://dlj.li/2vq1G 目前来说对抗CSRF攻击最简洁而有效的方法就是使用验证码。CSRF攻击是在用户不知情的情况下构造了网络请求而验证码则是强制要求用户与应用程序进行交互才能完成最终请求。
关于CSRF的基本介绍就到这里希望这篇博客能让你了解到什么是CSRF。