「Burpsuite练兵场」CSRF(一)
2020-09-17 16:49:34 Author: www.secpulse.com(查看原文) 阅读量:382 收藏

eb398c112a8d429a9193e729a5fa95c8.jpg

CSRF(Cross-site request forgery,跨站点请求伪造)是一种是挟制终端用户在当前已登录的Web应用程序上执行非本意操作的攻击方法,它允许攻击者诱导用户执行他们不打算执行的操作,并且该攻击可以部分规避同源策略。通过利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向服务器发送请求,从而完成非法操作(如更改密码,修改权限等)。

要实现CSRF攻击,需要满足三个条件:

  • 拥有相关功能:该应用程序存在一个攻击者意图进行的功能,例如修改用户权限或用户密码;

  • 基于cookie的会话处理:应用程序仅依靠HTTP cookie来进行会话跟踪,请求中的任何其他位置均未传送会话相关的令牌;

  • 可预见的请求参数:攻击者可以确定执行操作所需的所有参数。

XSS和CSRF的比较:

  • 跨站点脚本(XSS)允许攻击者在受害用户的浏览器中执行任意的JavaScript;

  • 跨站点请求伪造(CSRF)允许攻击者诱导受害用户执行他们不打算执行的操作;

  • CSRF可以说是跟XSS、SQL一样,属于老生常谈的问题了,因此各位应该对其原理也比较熟悉,话不多说,直接进入实验环节。

实验一:毫无防范的CSRF漏洞

实验提示:应用程序 email change模块存在CSRF漏洞。

实验要求:构造CSRF利用代码并上传到exploit server中。

image.png

使用提供的账号进行登录,登录后来到 email change界面。

image.png

输入任意值后使用Burpsuite自动生成POC。

image.png

这里生成的POC不具备自动提交功能,需要更改一下设置,然后点击Regenerate重新生成。

image.png

之后将这段POC复制到exploit server保存后即可完成实验。

实验二:基于请求方式进行token验证

实验提示:应用程序 email change模块存在CSRF漏洞,虽然添加了token,但仅防御了特定的请求方式。

实验要求:构造CSRF利用代码并上传到exploit server中。

image.png

前面的方式都一样,不同点在于生成POC后将方法POST更改为GET方法以绕过检测。

image.png

将POC保存到exploit server完成实验。

实验三:基于token存在进行验证

实验提示:应用程序email change模块存在CSRF漏洞。

实验要求:构造CSRF利用代码并上传到exploit server中。

image.png

这一实验简单的说就是当发送请求时,如果token不存在,就会跳过验证环节。

同样构造POC,然后删除csrf字段。

image.png

将POC保存到exploit server完成实验

实验四:token未关联用户会话

实验提示:应用程序 email change模块存在CSRF漏洞,虽然启用了token保护,但并未整合到站点会话管理系统当中。

实验要求:构造CSRF利用代码并上传到exploit server中。

image.png

根据提示可以推断出我们可以使用一个有效账户的csrf token覆盖攻击目标用户的token以此实现csrf攻击。

先使用wiener账户进行登录,进入email change模块修改邮箱,然后构造POC。

image.png

然后需要一个新的有效的csrf token,重新刷新进入email change模块可以发现已经有了一个新的csrf token。

image.png

将字段值进行替换

image.png

然后将POC保存到exploit server完成实验。

总结

本文介绍了CSRF原理以及一些基础的CSRF攻击场景,后面还有四个实验,相对复杂,后面公众号会持续更新。

另外专门针对于CSRF的自动扫描工具并不是很多,这里贴两个,各位小伙伴可以自行测试:

  • https://github.com/s0md3v/Bolt

  • https://github.com/tgianko/deemon/

TSRC 关于CSRF扫描检测的原理介绍:

https://security.tencent.com/index.php/blog/msg/24

今天的文章分享,小伙伴们看懂了吗?

本文作者:i春秋聚集地

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/140979.html


文章来源: https://www.secpulse.com/archives/140979.html
如有侵权请联系:admin#unsafe.sh